[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] xilinx-zynqmp: drop obsolete options for v6.1 kernel
From: Quanyang Wang Drop the obsolete options and add CONFIG_USB_ULPI_BUS because it is required by dwc3 usb driver. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynqmp/xilinx-zynqmp.cfg | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg b/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg index 21a7e29753..f236a7c070 100644 --- a/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg @@ -93,6 +93,7 @@ CONFIG_USB_OTG=y CONFIG_USB_OTG_FSM=m CONFIG_USB_GADGET=y CONFIG_USB_GADGET_XILINX=y +CONFIG_USB_ULPI_BUS=y CONFIG_INPUT=y CONFIG_INPUT_MOUSEDEV=y @@ -195,10 +196,7 @@ CONFIG_VIDEO_XILINX_MULTISCALER=y CONFIG_DRM=y CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y CONFIG_DRM_BRIDGE=y -CONFIG_DRM_XILINX=y CONFIG_HDMI=y CONFIG_DRM_XLNX=y @@ -213,7 +211,6 @@ CONFIG_DRM_XLNX_BRIDGE_CSC=y CONFIG_DRM_XLNX_BRIDGE_SCALER=y CONFIG_XILINX_FRMBUF=y CONFIG_XILINX_ZYNQMP_DPDMA=y -CONFIG_DRM_XILINX_SDI=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_SOC_XILINX_DP=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12433): https://lists.yoctoproject.org/g/linux-yocto/message/12433 Mute This Topic: https://lists.yoctoproject.org/mt/98553443/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-zynq: drop obsolete kernel options
From: Quanyang Wang These options are obsolete for v6.1 kernel. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynq/xilinx-zynq.cfg | 6 -- 1 file changed, 6 deletions(-) diff --git a/bsp/xilinx-zynq/xilinx-zynq.cfg b/bsp/xilinx-zynq/xilinx-zynq.cfg index c4589de20c..a05a3cbf00 100644 --- a/bsp/xilinx-zynq/xilinx-zynq.cfg +++ b/bsp/xilinx-zynq/xilinx-zynq.cfg @@ -110,8 +110,6 @@ CONFIG_MMC_SDHCI_OF_ARASAN=y # USB CONFIG_USB_OTG=y CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_OF=y -CONFIG_USB_CHIPIDEA_PCI=y CONFIG_USB_CHIPIDEA_UDC=y CONFIG_USB_CHIPIDEA_HOST=y @@ -133,12 +131,10 @@ CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_DRM=y CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_XILINX=y CONFIG_FB_XILINX=y CONFIG_DRM_I2C_ADV7511=y CONFIG_DRM_I2C_ADV7511_AUDIO=y -CONFIG_DRM_I2C_ADV7533=y CONFIG_DRM_I2C_ADV7511_CEC=y # FPGA @@ -171,7 +167,6 @@ CONFIG_EEPROM_AT24=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CONTROLLER=y -CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_MEDIA_SUBDRV_AUTOSELECT=y @@ -190,7 +185,6 @@ CONFIG_DEBUG_ZYNQ_UART1=y CONFIG_EARLY_PRINTK=y CONFIG_IIO=y -CONFIG_XILINX_TRAFGEN=y CONFIG_IIO_CONFIGFS=y CONFIG_IIO_SW_DEVICE=y CONFIG_IIO_SW_TRIGGER=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12455): https://lists.yoctoproject.org/g/linux-yocto/message/12455 Mute This Topic: https://lists.yoctoproject.org/mt/98681767/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arch: arm64: dts: add dts file for CANFD feature on xilinx-zcu102 platform
From: Meng Li This dts file is created by referring to Xilix SDK petalinux. Signed-off-by: Meng Li --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/Makefile | 1 + .../dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 82 +++ 2 files changed, 83 insertions(+) create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts diff --git a/arch/arm64/boot/dts/xilinx/Makefile b/arch/arm64/boot/dts/xilinx/Makefile index 80a24e8aabe6a..7dc10be3313c2 100644 --- a/arch/arm64/boot/dts/xilinx/Makefile +++ b/arch/arm64/boot/dts/xilinx/Makefile @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu100-revC.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revA.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revB.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.0.dtb +dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.0-canfd.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.1.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revA.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revC.dtb diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts new file mode 100644 index 0..73ba3abd7aa89 --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * dts file for Xilinx ZynqMP ZCU102 Rev1.0 CANFD + * + * Copyright (C) 2016 - 2023 Wind River Systems, Inc. + * + * Meng Li + */ + +#include "zynqmp-zcu102-rev1.0.dts" + +/ { + amba_pl: amba_pl { + #address-cells = <2>; + #size-cells = <2>; + compatible = "simple-bus"; + ranges ; + axi_iic_0: i2c@80003000 { + #address-cells = <1>; + #size-cells = <0>; + clock-names = "s_axi_aclk"; + clocks = <&zynqmp_clk 71>; + compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; + reg = <0x0 0x80003000 0x0 0x1000>; + }; + axi_timer_0: timer@8000 { + clock-frequency = <187481262>; + clock-names = "s_axi_aclk"; + clocks = <&zynqmp_clk 71>; + compatible = "xlnx,axi-timer-2.0", "xlnx,xps-timer-1.00.a"; + interrupt-names = "interrupt"; + interrupt-parent = <&gic>; + interrupts = <0 91 4>; + reg = <0x0 0x8000 0x0 0x1000>; + xlnx,count-width = <0x20>; + xlnx,gen0-assert = <0x1>; + xlnx,gen1-assert = <0x1>; + xlnx,one-timer-only = <0x0>; + xlnx,trig0-assert = <0x1>; + xlnx,trig1-assert = <0x1>; + }; + canfd_0: canfd@8100 { + clock-names = "can_clk", "can_clk_x2", "s_axi_aclk"; + clocks = <&clk_wiz_0 1>, <&clk_wiz_0 0>, <&zynqmp_clk 71>; + compatible = "xlnx,canfd-2.0"; + interrupt-names = "ip2bus_intrevent"; + interrupt-parent = <&gic>; + interrupts = <0 89 4>; + reg = <0x0 0x8100 0x0 0x8000>; + rx-fifo-depth = <0x20>; + tx-mailbox-count = <0x20>; + }; + canfd_1: canfd@8200 { + clock-names = "can_clk", "can_clk_x2", "s_axi_aclk"; + clocks = <&clk_wiz_0 1>, <&clk_wiz_0 0>, <&zynqmp_clk 71>; + compatible = "xlnx,canfd-2.0"; + interrupt-names = "ip2bus_intrevent"; + interrupt-parent = <&gic>; + interrupts = <0 90 4>; + reg = <0x0 0x8200 0x0 0x8000>; + rx-fifo-depth = <0x20>; + tx-mailbox-count = <0x20>; + }; + clk_wiz_0: clk_wiz@8001 { + #clock-cells = <1>; + clock-names = "s_axi_aclk", "clk_in1"; + clock-output-names = "clk_out1", "clk_out2", "clk_out3", "clk_out4", "clk_out5", "clk_out6", "clk_out7"; + clocks = <&zynqmp_clk 71>, <&zynqmp_clk 71>; + compatible = "xlnx,clk-wiz-6.0", "xlnx,clocking-wizard"; + reg = <0x0 0x8001 0x0 0x1>; + speed-grade = <2>; + }; + psu_ctrl_ipi: PERIPHERAL@ff38 { + compatible = "xlnx,PERIPHERAL-1.0"; + reg = <0x0 0xff38 0x0 0x8>; +
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH 1/2] bsp: xilinx-zynq: add preempt-rt support
From: Quanyang Wang Signed-off-by: Quanyang Wang --- bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc | 8 1 file changed, 8 insertions(+) create mode 100644 bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc diff --git a/bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc b/bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc new file mode 100644 index 00..08b7b7677d --- /dev/null +++ b/bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE xilinx-zynq +define KTYPE preempt-rt +define KARCH arm + +include ktypes/preempt-rt/preempt-rt.scc + +include xilinx-zynq.scc -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12475): https://lists.yoctoproject.org/g/linux-yocto/message/12475 Mute This Topic: https://lists.yoctoproject.org/mt/98778838/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH 0/2] add preempt-rt for
From: Quanyang Wang Hi Bruce, Would you please help merge these 2 patches to the branch: yocto-6.1 Thanks, Quanyang Quanyang Wang (2): bsp: xilinx-zynq: add preempt-rt support bsp: xilinx-zynqmp: add preempt-rt support bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc | 8 bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc | 8 2 files changed, 16 insertions(+) create mode 100644 bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc create mode 100644 bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12476): https://lists.yoctoproject.org/g/linux-yocto/message/12476 Mute This Topic: https://lists.yoctoproject.org/mt/98778839/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH 2/2] bsp: xilinx-zynqmp: add preempt-rt support
From: Quanyang Wang Signed-off-by: Quanyang Wang --- bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc | 8 1 file changed, 8 insertions(+) create mode 100644 bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc b/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc new file mode 100644 index 00..010f7385c7 --- /dev/null +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE xilinx-zynqmp +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt/preempt-rt.scc + +include xilinx-zynqmp.scc -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12477): https://lists.yoctoproject.org/g/linux-yocto/message/12477 Mute This Topic: https://lists.yoctoproject.org/mt/98778840/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: aptiv-s32g: add support for Aptiv FL board
From: Quanyang Wang Add scc and cfg files for Aptiv FL board. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc | 7 + bsp/aptiv-s32g/aptiv-cvc.cfg | 177 + bsp/aptiv-s32g/aptiv-cvc.scc | 7 + 3 files changed, 191 insertions(+) create mode 100644 bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc create mode 100644 bsp/aptiv-s32g/aptiv-cvc.cfg create mode 100644 bsp/aptiv-s32g/aptiv-cvc.scc diff --git a/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc new file mode 100644 index 00..d8a0c51af0 --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: MIT +define KMACHINE aptiv-cvc-fl +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt +include aptiv-cvc.scc diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg new file mode 100644 index 00..5714cb9c74 --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -0,0 +1,177 @@ +# SPDX-License-Identifier: MIT +.. +.WARNING +. +. This file is a kernel configuration fragment, and not a full kernel +. configuration file. The final kernel configuration is made up of +. an assembly of processed fragments, each of which is designed to +. capture a specific part of the final configuration (e.g. platform +. configuration, feature configuration, and board specific hardware +. configuration). For more information on kernel configuration, please +. consult the product documentation. +. +.. + +CONFIG_ARM64=y +CONFIG_ARCH_NXP=y +CONFIG_ARCH_S32=y +CONFIG_SOC_S32CC=y +CONFIG_SCHED_MC=y +CONFIG_ARM_SMMU=y + +CONFIG_PINCTRL_S32CC=y + +CONFIG_CPU_IDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y +#To keep align with SDK, unset the ARM_SCMI_POWER_DOMAIN config +# CONFIG_ARM_SCMI_POWER_DOMAIN is not set + +#CAN +CONFIG_CAN=y +CONFIG_CAN_VCAN=y +CONFIG_CAN_SLCAN=y +CONFIG_CAN_FLEXCAN=m + +#Ethernet +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y + +#Serial +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_FSL_LINFLEXUART=y +CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y + +#SPI +CONFIG_SPI=y +CONFIG_SPI_FSL_DSPI=y +CONFIG_SPI_SPIDEV=y + +#GPIO +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_S32CC=y +CONFIG_GPIO_PCA953X=y + +#PCIE +CONFIG_PCI=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_PLAT_HOST=y +CONFIG_PCI_ENDPOINT=y +CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCIEAER=y +CONFIG_PCI_S32CC=y + +#USB +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_IMX=m +CONFIG_USB_ULPI_GENERIC=y +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y + +CONFIG_USB_ACM=y +CONFIG_USB_WDM=y + +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y + +#MMC +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_DMADEVICES=y +CONFIG_FSL_EDMA=y +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 + +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_DATAFLASH=y +CONFIG_MTD_SPI_NOR=y + +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_UINPUT=y + +# Thermal +CONFIG_THERMAL=y +CONFIG_S32CC_THERMAL=y + +# ADC +CONFIG_IIO=y +CONFIG_S32CC_ADC=m + +# PWM +CONFIG_PWM=y +CONFIG_PWM_FSL_FTM=m + +CONFIG_S32CC_FCCU=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y + +CONFIG_MDIO_DEVICE=y +CONFIG_PHYLIB=y + +#QSPI +CONFIG_SPI_FSL_QUADSPI=y + +#RTC +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_S32CC=y +CONFIG_RTC_DRV_PCF85063=y + +#I2C +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_IMX=m + +#Watchdog +# We need keep this driver built-in since rmmod will trigger reboot +CONFIG_S32CC_WDT=y + +#NVME +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_TARGET=y +CONFIG_NVMEM_S32CC_SIUL2=y + +#LLCE +CONFIG_CAN_LLCE=y +CONFIG_CAN_LLCE_CONTROLLER=m + +# Regulator configuration +CONFIG_REGULATOR=y + +#HSE UIO +CONFIG_UIO=y +CONFIG_CRYPTO_DEV_NXP_HSE=y +CONFIG_UIO_NXP_HSE=y +CONFIG_UIO_NXP_HSE_MU0=y +CONFIG_CRYPTO_DEV_NXP_HSE_MU1=y + +#RANDOM +CONFIG_HW_RANDOM=y diff --git a/bsp/aptiv-s32g/aptiv-cvc.scc b/bsp/aptiv-s32g/aptiv-cvc.scc new file mode 100644 index 00..30fa80132f --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc.scc @@ -0,0 +1,7 @@ +# SPDX-License-Iden
[linux-yocto][v6.1] nxp-s32g: aptiv dts files
From: Quanyang Wang Hi Bruce, Would you please help merge these 5 patches to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang Quanyang Wang (5): dts: Aptiv-FL: add dts file for Aptiv CVC-FL board dts: Aptiv-FL: disable unsupported device nodes dts: Aptiv-FL: add correct pinctrls for pfe interfaces for Aptiv-FL board dts: Aptiv-FL: disable flexcan3 dts: Aptiv-FL: refactor Aptiv CVC FL s32g399a dts files arch/arm64/boot/dts/freescale/Makefile| 2 + .../dts/freescale/s32g399a-cvc-fl-pfems.dts | 23 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 14 + .../boot/dts/freescale/s32g399a-cvc-fl.dtsi | 28 + .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 854 ++ 5 files changed, 921 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi create mode 100644 arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12482): https://lists.yoctoproject.org/g/linux-yocto/message/12482 Mute This Topic: https://lists.yoctoproject.org/mt/98808563/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 1/5] dts: Aptiv-FL: add dts file for Aptiv CVC-FL board
From: Quanyang Wang This patch comes from the patch: meta-cvc-fl/recipes-kernel/linux/linux-s32/0001-ESL-427-Linux-S32-cvc-support+cleanup.patch Modifications as below: 1. Change usb phy from "usb-nop-xceiv" to "usb-phy-ulpi-generic". 2. Add "can17_19_en-hog" to enable can17~19. 3. Add "can0-stb-hog" and "can0-en-hog" to enable can0. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/Makefile| 1 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 28 + .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 912 ++ 3 files changed, 941 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts create mode 100644 arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index fe5b4d93db559..16feaade66cb0 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -154,3 +154,4 @@ dtb-$(CONFIG_ARCH_S32) += s32g399a-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts new file mode 100644 index 0..994f80a736ee4 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2021 NXP + */ + +/dts-v1/; +#include "s32g3.dtsi" +#include "s32gxxxa-cvc-fl.dtsi" +/ { + model = "Freescale S32G399A"; + compatible = "fsl,s32g399", "arm,vexpress"; +}; + +&swt8 { + status = "okay"; +}; + +&swt9 { + status = "okay"; +}; + +&swt10 { + status = "okay"; +}; + +&swt11 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi new file mode 100644 index 0..a91e466dbc272 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -0,0 +1,912 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2019-2021 NXP + */ +#include + +/ { + chosen { + stdout-path = "serial0:115200n8"; + }; + + usbphyulpi: usbphyulpi { + compatible = "nxp,saf1508", "usb-phy-ulpi-generic"; + /* ULPI_OTG_ID_PULLUP | ULPI_OTG_DRVVBUS_EXT | ULPI_OTG_EXTVBUSIND | +* ULPI_IC_IND_PASSTHRU | ULPI_IC_EXTVBUS_INDINV +*/ + usb-ulpi-flags = <0x60C1>; + #phy-cells = <0>; + }; +}; + +&usbmisc { + status = "okay"; +}; + +&usbotg { + pinctrl-names = "default"; + pinctrl-0 = <&usbotg_pins>; + fsl,usbphy = <&usbphyulpi>; + status = "okay"; +}; + +&qspi { + status = "okay"; +}; + +&gmac0 { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <&gmac0_mdio_c_phy19>; + pinctrl-names = "default"; + pinctrl-0 = <&gmac0rgmiic_pins>, <&gmac0mdioc_pins>; +}; + +&gmac0_mdio { + /* SJA SW */ + gmac0_mdio_c_phy19: ethernet-phy@19 { + #address-cells = <1>; + #size-cells = <0>; + reg = <19>; + }; +}; + +&pfe { + status = "okay"; +}; + +&pfe_netif0 { + status = "okay"; + phy-handle = <&mdio0_phy8>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&pfe_netif1 { + status = "okay"; + phy-handle = <&mdio1_rtl_sw>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&pfe_netif2 { + status = "okay"; + phy-mode = "sgmii"; + phy-handle = <&mdio2_phy7>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&gpio { + can0-stb-hog { + gpio-hog; + gpios = <24 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "can0_stb"; + }; + can0-en-hog { + gpio-hog; + gpios = <9 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "can0_en"; + }; +}; + +&pfe_mdio0 { + status = "okay"; + /* RTL9010 */ + mdio0_phy8: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + }; + +}; + +&pfe_mdio1 { + status = "okay"; + /* RTL9075 */ + mdio1_rtl_sw: ethernet-phy@24 { + compatible = "ethernet-phy-ieee802.3-c22"; + #address-cells = <1>; + #size-cells = <0>; + reg = <24>; + }; +}; + +&pfe_mdio2 { + status = "okay"; + /* RTL9010 */ + mdio2_phy7: ethernet-phy@1 { + compatible = "ethernet-phy-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 4/5] dts: Aptiv-FL: disable flexcan3
From: Quanyang Wang The flexcan3 is used by Autosar running at M7 core. So disable it in linux for Aptiv FL board. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 02cf6074262e4..961ba2ec13581 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -213,7 +213,7 @@ &can2 { &can3 { pinctrl-names = "default"; pinctrl-0 = <&can3_pins>; - status = "okay"; + status = "disabled"; }; &fccu { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12486): https://lists.yoctoproject.org/g/linux-yocto/message/12486 Mute This Topic: https://lists.yoctoproject.org/mt/98808568/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 3/5] dts: Aptiv-FL: add correct pinctrls for pfe interfaces for Aptiv-FL board
From: Quanyang Wang Add pinctrls for pfe0/1/2 interfaces for Aptiv-FL board. Note that RTL9010 phys need to be configured at u-boot. This patch comes from: meta-cvc-fl/recipes-kernel/linux/linux-s32/0001-ESL-427-Linux-S32-cvc-support+cleanup.patch Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 136 +- 1 file changed, 38 insertions(+), 98 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 1a868eec29b7d..02cf6074262e4 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -59,6 +59,7 @@ &pfe { &pfe_netif0 { status = "okay"; + phy-mode = "sgmii"; phy-handle = <&mdio0_phy8>; fixed-link { speed = <1000>; @@ -68,6 +69,7 @@ fixed-link { &pfe_netif1 { status = "okay"; + phy-mode = "sgmii"; phy-handle = <&mdio1_rtl_sw>; fixed-link { speed = <1000>; @@ -102,6 +104,9 @@ can0-en-hog { &pfe_mdio0 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pfe0mdio_pins>; + /* RTL9010 */ mdio0_phy8: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -109,11 +114,13 @@ mdio0_phy8: ethernet-phy@1 { #size-cells = <0>; reg = <1>; }; - }; &pfe_mdio1 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pfe1mdio_pins>; + /* RTL9075 */ mdio1_rtl_sw: ethernet-phy@24 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -125,6 +132,9 @@ mdio1_rtl_sw: ethernet-phy@24 { &pfe_mdio2 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pfe2mdio_pins>; + /* RTL9010 */ mdio2_phy7: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -530,67 +540,6 @@ usbotg_grp3 { }; - pfe2mdioa_pins: pfe2mdioa { - pfe2mdioa_grp0 { - pinmux = ; - output-enable; - slew-rate = ; - }; - - pfe2mdioa_grp1 { - pinmux = ; - output-enable; - input-enable; - slew-rate = ; - }; - - pfe2mdioa_grp2 { - pinmux = ; - }; - - }; - - pfe2rgmiia_pins: pfe2rgmiia { - pfe2rgmiia_grp0 { - pinmux = , -, -, -, -; - output-enable; - slew-rate = ; - }; - - pfe2rgmiia_grp1 { - pinmux = , -, -, -, -, -; - input-enable; - slew-rate = ; - }; - - pfe2rgmiia_grp2 { - pinmux = , -, -, -, -, -, -; - }; - - pfe2rgmiia_grp3 { - pinmux = ; - output-enable; - slew-rate = ; - bias-pull-up; - }; - - }; - gmac0mdioc_pins: gmac0mdioc { gmac0mdioc_grp0 { pinmux = ; @@ -652,70 +601,61 @@ gmac0rgmiic_grp3 { }; - pfe1mdioc_pins: pfe1mdioc { - pfe1mdioc_grp0 { - pinmux = ; + pfe0mdio_pins: pfe0mdio { + pfe0mdio_grp0 { + pinmux = ; output-enable; slew-rate = ; }; - pfe1mdioc_grp1 { - pinmux = ; + pfe0mdio_grp1 { + pinmux = ; output-enable; input-enable; slew-rate = ; }; - pfe1mdioc_grp2 { - pinmux = ; + pfe0mdio_grp2 { + pinmux = ; }; - }; - pfe1rgmiic_pins: pfe1rgmiic { - pfe1rgmiic_grp0 { - pinmux = ; + pfe1mdio_pins: pfe1mdio { + pfe1mdio_grp0 { + pinmux = ; output-enable; slew-rate = ; - bias-pull-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 5/5] dts: Aptiv-FL: refactor Aptiv CVC FL s32g399a dts files
From: Quanyang Wang For now, dts files for NXP rdb/evb boards are following the naming rules as s32gXXX.dtsi/s32gXXX.dts/s32gXXX-pfems.dts. Let's switch Aptiv dts files to the same rule. Rename original s32g399a-cvc-fl.dts to be s32g399a-cvc-fl.dtsi and make new s32g399a-cvc-fl.dts and s32g399a-cvc-fl-pfems.dts to include this dtsi file. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/Makefile| 3 +- .../dts/freescale/s32g399a-cvc-fl-pfems.dts | 23 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 32 ++- .../boot/dts/freescale/s32g399a-cvc-fl.dtsi | 28 4 files changed, 62 insertions(+), 24 deletions(-) create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 16feaade66cb0..e3a7662e40d85 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -135,6 +135,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl-pfems.dtb dtb-$(CONFIG_ARCH_S32) += s32g274a-bluebox3.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb-pfems.dtb @@ -154,4 +156,3 @@ dtb-$(CONFIG_ARCH_S32) += s32g399a-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb -dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts new file mode 100644 index 0..661f8f8efb6cf --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (C) 2023 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Based on s32g399a-rdb3-pfems.dts + */ + +/dts-v1/; +#include "s32g399a-cvc-fl.dtsi" +#include "s32g-pfe-slave.dtsi" + +&pfe_aux0 { + status = "okay"; +}; + +&pfesl_aux0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts index 994f80a736ee4..bee72e0eeed1e 100644 --- a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts @@ -1,28 +1,14 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2021 NXP + * Copyright (C) 2023 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Based on s32g399a-rdb3.dts */ /dts-v1/; -#include "s32g3.dtsi" -#include "s32gxxxa-cvc-fl.dtsi" -/ { - model = "Freescale S32G399A"; - compatible = "fsl,s32g399", "arm,vexpress"; -}; - -&swt8 { - status = "okay"; -}; - -&swt9 { - status = "okay"; -}; - -&swt10 { - status = "okay"; -}; - -&swt11 { - status = "okay"; -}; +#include "s32g399a-cvc-fl.dtsi" diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi new file mode 100644 index 0..994f80a736ee4 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2021 NXP + */ + +/dts-v1/; +#include "s32g3.dtsi" +#include "s32gxxxa-cvc-fl.dtsi" +/ { + model = "Freescale S32G399A"; + compatible = "fsl,s32g399", "arm,vexpress"; +}; + +&swt8 { + status = "okay"; +}; + +&swt9 { + status = "okay"; +}; + +&swt10 { + status = "okay"; +}; + +&swt11 { + status = "okay"; +}; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12487): https://lists.yoctoproject.org/g/linux-yocto/message/12487 Mute This Topic: https://lists.yoctoproject.org/mt/98808570/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 2/5] dts: Aptiv-FL: disable unsupported device nodes
From: Quanyang Wang The device nodes of "qspi" and "gmac0" are not supported in linux, so we need to disable them to eliminate error log while booting. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index a91e466dbc272..1a868eec29b7d 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -31,11 +31,13 @@ &usbotg { }; &qspi { - status = "okay"; + /* We don't support HyperFlash in linux */ + status = "disabled"; }; &gmac0 { - status = "okay"; + /* Before enabling SJA1110, set it to be "disabled" */ + status = "disabled"; phy-mode = "rgmii"; phy-handle = <&gmac0_mdio_c_phy19>; pinctrl-names = "default"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12484): https://lists.yoctoproject.org/g/linux-yocto/message/12484 Mute This Topic: https://lists.yoctoproject.org/mt/98808566/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: aptiv-s32g: add support for Aptiv FL board
From: Quanyang Wang Add scc and cfg files for Aptiv FL board. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc | 7 + bsp/aptiv-s32g/aptiv-cvc.cfg | 177 + bsp/aptiv-s32g/aptiv-cvc.scc | 7 + 3 files changed, 191 insertions(+) create mode 100644 bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc create mode 100644 bsp/aptiv-s32g/aptiv-cvc.cfg create mode 100644 bsp/aptiv-s32g/aptiv-cvc.scc diff --git a/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc new file mode 100644 index 00..d8a0c51af0 --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: MIT +define KMACHINE aptiv-cvc-fl +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt +include aptiv-cvc.scc diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg new file mode 100644 index 00..5714cb9c74 --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -0,0 +1,177 @@ +# SPDX-License-Identifier: MIT +.. +.WARNING +. +. This file is a kernel configuration fragment, and not a full kernel +. configuration file. The final kernel configuration is made up of +. an assembly of processed fragments, each of which is designed to +. capture a specific part of the final configuration (e.g. platform +. configuration, feature configuration, and board specific hardware +. configuration). For more information on kernel configuration, please +. consult the product documentation. +. +.. + +CONFIG_ARM64=y +CONFIG_ARCH_NXP=y +CONFIG_ARCH_S32=y +CONFIG_SOC_S32CC=y +CONFIG_SCHED_MC=y +CONFIG_ARM_SMMU=y + +CONFIG_PINCTRL_S32CC=y + +CONFIG_CPU_IDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y +#To keep align with SDK, unset the ARM_SCMI_POWER_DOMAIN config +# CONFIG_ARM_SCMI_POWER_DOMAIN is not set + +#CAN +CONFIG_CAN=y +CONFIG_CAN_VCAN=y +CONFIG_CAN_SLCAN=y +CONFIG_CAN_FLEXCAN=m + +#Ethernet +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y + +#Serial +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_FSL_LINFLEXUART=y +CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y + +#SPI +CONFIG_SPI=y +CONFIG_SPI_FSL_DSPI=y +CONFIG_SPI_SPIDEV=y + +#GPIO +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_S32CC=y +CONFIG_GPIO_PCA953X=y + +#PCIE +CONFIG_PCI=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_PLAT_HOST=y +CONFIG_PCI_ENDPOINT=y +CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCIEAER=y +CONFIG_PCI_S32CC=y + +#USB +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_IMX=m +CONFIG_USB_ULPI_GENERIC=y +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y + +CONFIG_USB_ACM=y +CONFIG_USB_WDM=y + +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y + +#MMC +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_DMADEVICES=y +CONFIG_FSL_EDMA=y +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 + +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_DATAFLASH=y +CONFIG_MTD_SPI_NOR=y + +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_UINPUT=y + +# Thermal +CONFIG_THERMAL=y +CONFIG_S32CC_THERMAL=y + +# ADC +CONFIG_IIO=y +CONFIG_S32CC_ADC=m + +# PWM +CONFIG_PWM=y +CONFIG_PWM_FSL_FTM=m + +CONFIG_S32CC_FCCU=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y + +CONFIG_MDIO_DEVICE=y +CONFIG_PHYLIB=y + +#QSPI +CONFIG_SPI_FSL_QUADSPI=y + +#RTC +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_S32CC=y +CONFIG_RTC_DRV_PCF85063=y + +#I2C +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_IMX=m + +#Watchdog +# We need keep this driver built-in since rmmod will trigger reboot +CONFIG_S32CC_WDT=y + +#NVME +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_TARGET=y +CONFIG_NVMEM_S32CC_SIUL2=y + +#LLCE +CONFIG_CAN_LLCE=y +CONFIG_CAN_LLCE_CONTROLLER=m + +# Regulator configuration +CONFIG_REGULATOR=y + +#HSE UIO +CONFIG_UIO=y +CONFIG_CRYPTO_DEV_NXP_HSE=y +CONFIG_UIO_NXP_HSE=y +CONFIG_UIO_NXP_HSE_MU0=y +CONFIG_CRYPTO_DEV_NXP_HSE_MU1=y + +#RANDOM +CONFIG_HW_RANDOM=y diff --git a/bsp/aptiv-s32g/aptiv-cvc.scc b/bsp/aptiv-s32g/aptiv-cvc.scc new file mode 100644 index 00..30fa80132f --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc.scc @@ -0,0 +1,7 @@ +# SPDX-License-Iden
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-zynq: set CONFIG_CC_OPTIMIZE_FOR_SIZE to n
From: Quanyang Wang Disable CONFIG_CC_OPTIMIZE_FOR_SIZE to fix the warning when do_kernel_configcheck: WARNING: linux-yocto-rt-6.1.27+gitAUTOINC+9045c12fb0_e318b47db6-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration: [NOTE]: 'CONFIG_CC_OPTIMIZE_FOR_SIZE' last val (n) and .config val (y) do not match [INFO]: CONFIG_CC_OPTIMIZE_FOR_SIZE : y ## .config: 205 :configs/v6.1/standard/preempt-rt/arch/arm/arm.cfg (y) configs/v6.1/standard/preempt-rt/ktypes/preempt-rt/preempt-rt.cfg (n) [INFO]: raw config text: Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynq/xilinx-zynq.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/bsp/xilinx-zynq/xilinx-zynq.cfg b/bsp/xilinx-zynq/xilinx-zynq.cfg index a05a3cbf00..7af2562fc2 100644 --- a/bsp/xilinx-zynq/xilinx-zynq.cfg +++ b/bsp/xilinx-zynq/xilinx-zynq.cfg @@ -3,6 +3,7 @@ CONFIG_SMP=y CONFIG_NR_CPUS=4 CONFIG_HOTPLUG_CPU=y CONFIG_VMSPLIT_2G=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=n # # Xilinx Specific Options -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12550): https://lists.yoctoproject.org/g/linux-yocto/message/12550 Mute This Topic: https://lists.yoctoproject.org/mt/98902451/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/base][PATCH] arm: fix warning "TIF_NOTIFY_SIGNAL" redefined
From: Quanyang Wang In upstream commit 7578a7c0f296b ("ARM: renumber bits related to _TIF_WORK_MASK"), the macros TIF_SYSCALL_AUDIT,TIF_SYSCALL_TRACEPOINT and TIF_SECCOMP have been redefined to 21~23. But during merging, the old values are brought back and now these macros are defined twice, so we need drop the old values and place TIF_NOTIFY_SIGNAL and TIF_NEED_RESCHED_LAZY in the right position. It's to fix the warning: arch/arm/include/asm/thread_info.h:136: warning: "TIF_NOTIFY_SIGNAL" redefined 136 | #define TIF_NOTIFY_SIGNAL 8 /* signal notifications exist */ | arch/arm/include/asm/thread_info.h:132: note: this is the location of the previous definition 132 | #define TIF_NOTIFY_SIGNAL 4 /* signal notifications exist */ Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: v6.1/standard/preempt-rt/base Thanks, Quanyang --- arch/arm/include/asm/thread_info.h | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/arm/include/asm/thread_info.h b/arch/arm/include/asm/thread_info.h index a0960a7ecb1f0..ffcbf8ebed4bf 100644 --- a/arch/arm/include/asm/thread_info.h +++ b/arch/arm/include/asm/thread_info.h @@ -130,11 +130,7 @@ extern int vfp_restore_user_hwstate(struct user_vfp *, #define TIF_NOTIFY_RESUME 2 /* callback before returning to user */ #define TIF_UPROBE 3 /* breakpointed or singlestepping */ #define TIF_NOTIFY_SIGNAL 4 /* signal notifications exist */ -#define TIF_SYSCALL_AUDIT 5 /* syscall auditing active */ -#define TIF_SYSCALL_TRACEPOINT 6 /* syscall tracepoint instrumentation */ -#define TIF_SECCOMP7 /* seccomp syscall filtering active */ -#define TIF_NOTIFY_SIGNAL 8 /* signal notifications exist */ -#define TIF_NEED_RESCHED_LAZY 9 +#define TIF_NEED_RESCHED_LAZY 5 #define TIF_USING_IWMMXT 17 #define TIF_MEMDIE 18 /* is terminating due to OOM killer */ -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12628): https://lists.yoctoproject.org/g/linux-yocto/message/12628 Mute This Topic: https://lists.yoctoproject.org/mt/99006201/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/base][PATCH] OF: DT-Overlay configfs interface (v8)
From: Pantelis Antoniou commit 999eb1a8fdc4512412c7bc519c895bc2a6fabbe0 from https://github.com/Xilinx/linux-xlnx.git Add a runtime interface to using configfs for generic device tree overlay usage. With it its possible to use device tree overlays without having to use a per-platform overlay manager. Please see Documentation/devicetree/configfs-overlays.txt for more info. Changes since v7: - Xilinx alignment - of: configfs: Fix error handling from of_overlay_create() - of: configfs: lock while resolving and applying - of: configfs: Fix memory leak in create overlay - of: configfs: Fix compilation warning - of: configfs: Use of_overlay_fdt_apply API call Changes since v6: - Default groups properties API changed. Changes since v5: - New style configfs. Changes since v4: - Loading fix for multiple overlays as found out by Geert Uytterhoeven Changes since v3: - Fixed compilation on SPARC & Xtensa Changes since v2: - Removed ifdef CONFIG_OF_OVERLAY (since for now it's required) - Created a documentation entry - Slight rewording in Kconfig Changes since v1: - of_resolve() -> of_resolve_phandles(). Signed-off-by: Pantelis Antoniou Signed-off-by: Nava kishore Manne Signed-off-by: Radhey Shyam Pandey State: not-upstreamable Signed-off-by: Liwei Song [Liwei: remove overlay_lock to fix "unused-variable" warning.] Signed-off-by: Bruce Ashfield --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/base v5.15/standard/base Thanks, Quanyang --- .../devicetree/configfs-overlays.txt | 31 ++ drivers/of/Kconfig| 11 + drivers/of/Makefile | 1 + drivers/of/configfs.c | 292 ++ 4 files changed, 335 insertions(+) create mode 100644 Documentation/devicetree/configfs-overlays.txt create mode 100644 drivers/of/configfs.c diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt new file mode 100644 index 0..5fa43e0643072 --- /dev/null +++ b/Documentation/devicetree/configfs-overlays.txt @@ -0,0 +1,31 @@ +Howto use the configfs overlay interface. + +A device-tree configfs entry is created in /config/device-tree/overlays +and and it is manipulated using standard file system I/O. +Note that this is a debug level interface, for use by developers and +not necessarily something accessed by normal users due to the +security implications of having direct access to the kernel's device tree. + +* To create an overlay you mkdir the directory: + + # mkdir /config/device-tree/overlays/foo + +* Either you echo the overlay firmware file to the path property file. + + # echo foo.dtbo >/config/device-tree/overlays/foo/path + +* Or you cat the contents of the overlay to the dtbo file + + # cat foo.dtbo >/config/device-tree/overlays/foo/dtbo + +The overlay file will be applied, and devices will be created/destroyed +as required. + +To remove it simply rmdir the directory. + + # rmdir /config/device-tree/overlays/foo + +The rationalle of the dual interface (firmware & direct copy) is that each is +better suited to different use patterns. The firmware interface is what's +intended to be used by hardware managers in the kernel, while the copy interface +make sense for developers (since it avoids problems with namespaces). diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 80b5fd44ab1c7..da62bc6766952 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -94,4 +94,15 @@ config OF_DMA_DEFAULT_COHERENT # arches should select this if DMA is coherent by default for OF devices bool +config OF_CONFIGFS + bool "Device Tree Overlay ConfigFS interface" + select CONFIGFS_FS + depends on OF_OVERLAY + help + Select this option to enable simple user-space driven DT overlay + interface to support device tree manipulated at runtime. + Say Y here to include this support. + + If unsure, say N. + endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile index e0360a44306e2..90c92ced24e62 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 obj-y = base.o device.o platform.o property.o obj-$(CONFIG_OF_KOBJ) += kobj.o +obj-$(CONFIG_OF_CONFIGFS) += configfs.o obj-$(CONFIG_OF_DYNAMIC) += dynamic.o obj-$(CONFIG_OF_FLATTREE) += fdt.o obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c new file mode 100644 index 0..64caba77a7193 --- /dev/null +++ b/drivers/of/configfs.c @@ -0,0 +1,292 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Configfs entries for device-tree + * + * Copyright (C) 2013 - Pantelis Antoniou + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] Revert "OF: DT-Overlay configfs interface (v8)"
From: Quanyang Wang This patch has been merged to base branch, so we revert it in xlnx branches. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- .../devicetree/configfs-overlays.txt | 31 -- drivers/of/Kconfig| 11 - drivers/of/Makefile | 1 - drivers/of/configfs.c | 294 -- 4 files changed, 337 deletions(-) delete mode 100644 Documentation/devicetree/configfs-overlays.txt delete mode 100644 drivers/of/configfs.c diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt deleted file mode 100644 index 5fa43e0643072..0 --- a/Documentation/devicetree/configfs-overlays.txt +++ /dev/null @@ -1,31 +0,0 @@ -Howto use the configfs overlay interface. - -A device-tree configfs entry is created in /config/device-tree/overlays -and and it is manipulated using standard file system I/O. -Note that this is a debug level interface, for use by developers and -not necessarily something accessed by normal users due to the -security implications of having direct access to the kernel's device tree. - -* To create an overlay you mkdir the directory: - - # mkdir /config/device-tree/overlays/foo - -* Either you echo the overlay firmware file to the path property file. - - # echo foo.dtbo >/config/device-tree/overlays/foo/path - -* Or you cat the contents of the overlay to the dtbo file - - # cat foo.dtbo >/config/device-tree/overlays/foo/dtbo - -The overlay file will be applied, and devices will be created/destroyed -as required. - -To remove it simply rmdir the directory. - - # rmdir /config/device-tree/overlays/foo - -The rationalle of the dual interface (firmware & direct copy) is that each is -better suited to different use patterns. The firmware interface is what's -intended to be used by hardware managers in the kernel, while the copy interface -make sense for developers (since it avoids problems with namespaces). diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index da62bc6766952..80b5fd44ab1c7 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -94,15 +94,4 @@ config OF_DMA_DEFAULT_COHERENT # arches should select this if DMA is coherent by default for OF devices bool -config OF_CONFIGFS - bool "Device Tree Overlay ConfigFS interface" - select CONFIGFS_FS - depends on OF_OVERLAY - help - Select this option to enable simple user-space driven DT overlay - interface to support device tree manipulated at runtime. - Say Y here to include this support. - - If unsure, say N. - endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile index 90c92ced24e62..e0360a44306e2 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 obj-y = base.o device.o platform.o property.o obj-$(CONFIG_OF_KOBJ) += kobj.o -obj-$(CONFIG_OF_CONFIGFS) += configfs.o obj-$(CONFIG_OF_DYNAMIC) += dynamic.o obj-$(CONFIG_OF_FLATTREE) += fdt.o obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c deleted file mode 100644 index 6d8f58e5cb5ba..0 --- a/drivers/of/configfs.c +++ /dev/null @@ -1,294 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Configfs entries for device-tree - * - * Copyright (C) 2013 - Pantelis Antoniou - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "of_private.h" - -struct cfs_overlay_item { - struct config_item item; - - charpath[PATH_MAX]; - - const struct firmware *fw; - struct device_node *overlay; - int ov_id; - - void*dtbo; - int dtbo_size; - - void*mem; -}; - -static DEFINE_MUTEX(overlay_lock); - -static int create_overlay(struct cfs_overlay_item *overlay, void *blob) -{ - int err; - - /* FIXME */ - err = of_overlay_fdt_apply(blob, overlay->dtbo_size, &overlay->ov_id); - if (err < 0) { - pr_err("%s: Failed to create overlay (err=%d)\n", - __func__, err); - return err; - } - - return err; -} - -static inline struct cfs_overlay_item - *to_cfs_overlay_item(struct config_item *item) -{ - return item ?
Re: [linux-yocto][v5.15/standard/preempt-rt/base][PATCH] OF: DT-Overlay configfs interface (v8)
Hi Bruce, I wrote the wrong branch information. It should be: v6.1/standard/preempt-rt/base v6.1/standard/base And this patch will conflict with another patch ("Revert "OF: DT-Overlay configfs interface (v8)" I just sent which is https://lists.yoctoproject.org/g/linux-yocto/topic/v6_1_standard_preempt_rt_sdkv6_1_xlnx_soc_patch/99215104?p=,,,20,0,0,0::recentpostdate/sticky,,,20,2,0,99215104,previd%3D1685429439939095335,nextid%3D1684520876284512837&previd=1685429439939095335&nextid=1684520876284512837 So the patch in the above URL should be applied first and then this patch. Sorry for the inconvenience. Thanks, Quanyang On 5/30/23 14:43, quanyang.wang via lists.yoctoproject.org wrote: From: Pantelis Antoniou commit 999eb1a8fdc4512412c7bc519c895bc2a6fabbe0 from https://github.com/Xilinx/linux-xlnx.git Add a runtime interface to using configfs for generic device tree overlay usage. With it its possible to use device tree overlays without having to use a per-platform overlay manager. Please see Documentation/devicetree/configfs-overlays.txt for more info. Changes since v7: - Xilinx alignment - of: configfs: Fix error handling from of_overlay_create() - of: configfs: lock while resolving and applying - of: configfs: Fix memory leak in create overlay - of: configfs: Fix compilation warning - of: configfs: Use of_overlay_fdt_apply API call Changes since v6: - Default groups properties API changed. Changes since v5: - New style configfs. Changes since v4: - Loading fix for multiple overlays as found out by Geert Uytterhoeven Changes since v3: - Fixed compilation on SPARC & Xtensa Changes since v2: - Removed ifdef CONFIG_OF_OVERLAY (since for now it's required) - Created a documentation entry - Slight rewording in Kconfig Changes since v1: - of_resolve() -> of_resolve_phandles(). Signed-off-by: Pantelis Antoniou Signed-off-by: Nava kishore Manne Signed-off-by: Radhey Shyam Pandey State: not-upstreamable Signed-off-by: Liwei Song [Liwei: remove overlay_lock to fix "unused-variable" warning.] Signed-off-by: Bruce Ashfield --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/base v5.15/standard/base Thanks, Quanyang --- .../devicetree/configfs-overlays.txt | 31 ++ drivers/of/Kconfig| 11 + drivers/of/Makefile | 1 + drivers/of/configfs.c | 292 ++ 4 files changed, 335 insertions(+) create mode 100644 Documentation/devicetree/configfs-overlays.txt create mode 100644 drivers/of/configfs.c diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt new file mode 100644 index 0..5fa43e0643072 --- /dev/null +++ b/Documentation/devicetree/configfs-overlays.txt @@ -0,0 +1,31 @@ +Howto use the configfs overlay interface. + +A device-tree configfs entry is created in /config/device-tree/overlays +and and it is manipulated using standard file system I/O. +Note that this is a debug level interface, for use by developers and +not necessarily something accessed by normal users due to the +security implications of having direct access to the kernel's device tree. + +* To create an overlay you mkdir the directory: + + # mkdir /config/device-tree/overlays/foo + +* Either you echo the overlay firmware file to the path property file. + + # echo foo.dtbo >/config/device-tree/overlays/foo/path + +* Or you cat the contents of the overlay to the dtbo file + + # cat foo.dtbo >/config/device-tree/overlays/foo/dtbo + +The overlay file will be applied, and devices will be created/destroyed +as required. + +To remove it simply rmdir the directory. + + # rmdir /config/device-tree/overlays/foo + +The rationalle of the dual interface (firmware & direct copy) is that each is +better suited to different use patterns. The firmware interface is what's +intended to be used by hardware managers in the kernel, while the copy interface +make sense for developers (since it avoids problems with namespaces). diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 80b5fd44ab1c7..da62bc6766952 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -94,4 +94,15 @@ config OF_DMA_DEFAULT_COHERENT # arches should select this if DMA is coherent by default for OF devices bool +config OF_CONFIGFS + bool "Device Tree Overlay ConfigFS interface" + select CONFIGFS_FS + depends on OF_OVERLAY + help + Select this option to enable simple user-space driven DT overlay + interface to support device tree manipulated at runtime. + Say Y here to include this support. + + If unsure, say N. + endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile index e0360a44306e2..90c92ced24e62 100644 --- a/drivers/of/Makefile +++
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: add "xlnx,nr-outputs" property for clk_wiz_0 node
From: Quanyang Wang In clk-xlnx-clock-wizard.c, the function clk_wzrd_probe will check if there is "xlnx,nr-outputs" property, if not, the probe will return error. Add "xlnx,nr-outputs" property for clk_wiz_0 node to avoid probe failure. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index 73ba3abd7aa89..d5b54d4a98d12 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -69,6 +69,7 @@ clk_wiz_0: clk_wiz@8001 { compatible = "xlnx,clk-wiz-6.0", "xlnx,clocking-wizard"; reg = <0x0 0x8001 0x0 0x1>; speed-grade = <2>; + xlnx,nr-outputs = <7>; }; psu_ctrl_ipi: PERIPHERAL@ff38 { compatible = "xlnx,PERIPHERAL-1.0"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12744): https://lists.yoctoproject.org/g/linux-yocto/message/12744 Mute This Topic: https://lists.yoctoproject.org/mt/99499864/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-zynqmp: add XILINX_INTC to support "xlnx,xps-intc-1.00.a"
From: Quanyang Wang We need to enable CONFIG_XILINX_INTC in order to verify Xilinx FPGA related interrupt controller driver irq-xilinx-intc.c. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynqmp/xilinx-zynqmp.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg b/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg index f236a7c070..036d3c08a3 100644 --- a/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg @@ -249,3 +249,5 @@ CONFIG_ZYNQMP_FIRMWARE_DEBUG=y CONFIG_CRYPTO_DEV_ZYNQMP_SHA3=y CONFIG_CRYPTO_DEV_XILINX_RSA=y CONFIG_CRYPTO_DEV_ZYNQMP_AES=y + +CONFIG_XILINX_INTC=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12756): https://lists.yoctoproject.org/g/linux-yocto/message/12756 Mute This Topic: https://lists.yoctoproject.org/mt/99519837/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: delete redundant xiic-i2c device node
From: Quanyang Wang The device node "axi_iic_0" is not needed to test canfd. Let's remove it since it triggers warning info: xiic-i2c 80003000.i2c: error -ENXIO: IRQ index 0 not found Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 8 1 file changed, 8 deletions(-) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index d5b54d4a98d12..c351cd18398aa 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -15,14 +15,6 @@ amba_pl: amba_pl { #size-cells = <2>; compatible = "simple-bus"; ranges ; - axi_iic_0: i2c@80003000 { - #address-cells = <1>; - #size-cells = <0>; - clock-names = "s_axi_aclk"; - clocks = <&zynqmp_clk 71>; - compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; - reg = <0x0 0x80003000 0x0 0x1000>; - }; axi_timer_0: timer@8000 { clock-frequency = <187481262>; clock-names = "s_axi_aclk"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12784): https://lists.yoctoproject.org/g/linux-yocto/message/12784 Mute This Topic: https://lists.yoctoproject.org/mt/99669670/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: delete redundant xiic-i2c device node
ping. On 6/21/23 10:54, quanyang.wang via lists.yoctoproject.org wrote: From: Quanyang Wang The device node "axi_iic_0" is not needed to test canfd. Let's remove it since it triggers warning info: xiic-i2c 80003000.i2c: error -ENXIO: IRQ index 0 not found Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 8 1 file changed, 8 deletions(-) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index d5b54d4a98d12..c351cd18398aa 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -15,14 +15,6 @@ amba_pl: amba_pl { #size-cells = <2>; compatible = "simple-bus"; ranges ; - axi_iic_0: i2c@80003000 { - #address-cells = <1>; - #size-cells = <0>; - clock-names = "s_axi_aclk"; - clocks = <&zynqmp_clk 71>; - compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; - reg = <0x0 0x80003000 0x0 0x1000>; - }; axi_timer_0: timer@8000 { clock-frequency = <187481262>; clock-names = "s_axi_aclk"; -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12805): https://lists.yoctoproject.org/g/linux-yocto/message/12805 Mute This Topic: https://lists.yoctoproject.org/mt/99669670/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: delete redundant xiic-i2c device node
Hi Bruce, On 6/27/23 21:09, Bruce Ashfield wrote: In message: Re: [linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: delete redundant xiic-i2c device node on 27/06/2023 Quanyang Wang wrote: ping. Was it only the preempt-rt branch that was missed ? If so, it is merged. If there's another branch, let me know. I don't have the original email anymore, so I can check it myself. This patch is for 2 branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang Bruce On 6/21/23 10:54, quanyang.wang via lists.yoctoproject.org wrote: From: Quanyang Wang The device node "axi_iic_0" is not needed to test canfd. Let's remove it since it triggers warning info: xiic-i2c 80003000.i2c: error -ENXIO: IRQ index 0 not found Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 8 1 file changed, 8 deletions(-) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index d5b54d4a98d12..c351cd18398aa 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -15,14 +15,6 @@ amba_pl: amba_pl { #size-cells = <2>; compatible = "simple-bus"; ranges ; - axi_iic_0: i2c@80003000 { - #address-cells = <1>; - #size-cells = <0>; - clock-names = "s_axi_aclk"; - clocks = <&zynqmp_clk 71>; - compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; - reg = <0x0 0x80003000 0x0 0x1000>; - }; axi_timer_0: timer@8000 { clock-frequency = <187481262>; clock-names = "s_axi_aclk"; -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12814): https://lists.yoctoproject.org/g/linux-yocto/message/12814 Mute This Topic: https://lists.yoctoproject.org/mt/99669670/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] xilinx-zynqmp: xilinx-zynqmp: disable CONFIG_ARM_CCI_PMU for rt kernel
From: Quanyang Wang CONFIG_ARM_CCI_PMU depends on PERF_EVENTS which is not enabled for preempt-rt, so the building warning as below can be caught: [NOTE]: 'CONFIG_ARM_CCI_PMU' last val (y) and .config val (n) do not match [INFO]: CONFIG_ARM_CCI_PMU : n [INFO]: raw config text: config ARM_CCI_PMU tristate "ARM CCI PMU driver" select ARM_CCI depends on ((ARM && CPU_V7) || ARM64) && PERF_EVENTS help Support for PMU events monitoring on the ARM CCI (Cache Coherent Interconnect) family of products. If compiled as a module, it will be called arm-cci. Config 'ARM_CCI_PMU' has the following Direct dependencies (ARM_CCI_PMU=n): (ARM(undefined/n) && CPU_V7(undefined/n)) || ARM64(=y) (=y) && PERF_EVENTS(=n) Parent dependencies are: PERF_EVENTS [n] CPU_V7 [CPU_V7] ARM64 [y] ARM [ARM] [INFO]: config 'CONFIG_ARM_CCI_PMU' was set, but it wasn't assignable, check (parent) dependencies Disable CONFIG_ARM_CCI_PMU to fix this. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc | 1 + bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc b/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc index 010f7385c7..a76f5bc914 100644 --- a/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc @@ -6,3 +6,4 @@ define KARCH arm64 include ktypes/preempt-rt/preempt-rt.scc include xilinx-zynqmp.scc +kconf hardware xilinx-zynqmp-rt.cfg diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg b/bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg new file mode 100644 index 00..25da0a1540 --- /dev/null +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: MIT +CONFIG_ARM_CCI_PMU=n -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12821): https://lists.yoctoproject.org/g/linux-yocto/message/12821 Mute This Topic: https://lists.yoctoproject.org/mt/99844140/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] drm/xlnx: fix kmemleak by sending vblank_event in atomic_disable
From: Quanyang Wang commit a7e02f7796c163ac8297b30223bf24bade9f8a50 upstream When running xrandr to change resolution of DP, the kmemleak as below can be observed: unreferenced object 0x00080a351000 (size 256): comm "Xorg", pid 248, jiffies 4294899614 (age 19.960s) hex dump (first 32 bytes): 98 a0 bc 01 08 00 ff ff 01 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 backtrace: [] kmemleak_alloc+0x30/0x40 [ ] kmem_cache_alloc+0x3d4/0x588 [<88ea9bd7>] drm_atomic_helper_setup_commit+0x84/0x5f8 [<2290a264>] drm_atomic_helper_commit+0x58/0x388 [ ] drm_atomic_commit+0x4c/0x60 [ ] drm_atomic_connector_commit_dpms+0xe8/0x110 [<20ade187>] drm_mode_obj_set_property_ioctl+0x1b0/0x450 [<918206d6>] drm_connector_property_set_ioctl+0x3c/0x68 [<8d51e7a5>] drm_ioctl_kernel+0xc4/0x118 [<2a819b75>] drm_ioctl+0x214/0x448 [<8ca4e588>] __arm64_sys_ioctl+0xa8/0xf0 [<34e15a35>] el0_svc_common.constprop.0+0x74/0x190 [<1b93d916>] do_el0_svc+0x24/0x90 [ ] el0_svc+0x14/0x20 [ ] el0_sync_handler+0xb0/0xb8 [<3e79c15f>] el0_sync+0x174/0x180 This is because there is a scenario that a drm_crtc_commit commit is allocated but not freed. The drm subsystem require/release references to a CRTC commit by calling drm_crtc_commit_get/put, and when drm_crtc_commit_put find that commit.ref.refcount is zero, it will call __drm_crtc_commit_free to free this CRTC commit. Among these drm_crtc_commit_get/put pairs, there is a drm_crtc_commit_get in drm_atomic_helper_setup_commit as below: ... new_crtc_state->event->base.completion = &commit->flip_done; new_crtc_state->event->base.completion_release = release_crtc_commit; drm_crtc_commit_get(commit); ... This reference to the CRTC commit should be released at the function release_crtc_commit by calling e->completion_release(e->completion) in drm_send_event_locked. So we need to call drm_send_event_locked at two places: handling vblank event in the irq handler and the crtc disable helper. But in zynqmp_disp_crtc_atomic_disable, it only marks the flip is done and not call drm_crtc_commit_put. This result that the refcount of this commit is always non-zero and this commit will never be freed. Since the function drm_crtc_send_vblank_event has operations both sending a flip_done signal and releasing reference to the CRTC commit, let's use it instead. Signed-off-by: Quanyang Wang Signed-off-by: Daniel Vetter Link: https://patchwork.freedesktop.org/patch/msgid/20210202064121.173362-1-quanyang.w...@windriver.com --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index c86e7a7775c5f..69fc2c48579fd 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -2043,8 +2043,6 @@ static void zynqmp_disp_enable(struct zynqmp_disp *disp) */ static void zynqmp_disp_disable(struct zynqmp_disp *disp, bool force) { - struct drm_crtc *crtc = &disp->xlnx_crtc.crtc; - if (!force && (!disp->enabled || zynqmp_disp_layer_is_enabled(disp))) return; @@ -2053,12 +2051,6 @@ static void zynqmp_disp_disable(struct zynqmp_disp *disp, bool force) zynqmp_disp_av_buf_disable_buf(&disp->av_buf); zynqmp_disp_av_buf_disable(&disp->av_buf); - /* Mark the flip is done as crtc is disabled anyway */ - if (crtc->state->event) { - complete_all(crtc->state->event->base.completion); - crtc->state->event = NULL; - } - disp->enabled = false; } @@ -2636,8 +2628,16 @@ zynqmp_disp_crtc_atomic_disable(struct drm_crtc *crtc, zynqmp_disp_clk_disable(disp->pclk, &disp->pclk_en); zynqmp_disp_plane_disable(crtc->primary); zynqmp_disp_disable(disp, true); - if (!disp->dpsub->external_crtc_attached) + if (!disp->dpsub->external_crtc_attached) { drm_crtc_vblank_off(crtc); + + spin_lock_irq(&crtc->dev->event_lock); + if (crtc->state->event) { + drm_crtc_send_vblank_event(crtc, crtc->state->event); + crtc->state->event = NULL; + } + spin_unlock_irq(&crtc->dev->event_lock); + } pm_runtime_put_sync(disp->dev); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12822): https://lists.yoctoproject.org/g/linux-yocto/message/12822 Mute This Topic: https://list
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-versal: add support for Xilinx Versal boards
From: Quanyang Wang Add scc and cfg files for Xilinx VMK180/VCK190 boards. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- .../xilinx-versal-preempt-rt.scc | 8 + bsp/xilinx-versal/xilinx-versal-standard.scc | 8 + bsp/xilinx-versal/xilinx-versal.cfg | 188 ++ bsp/xilinx-versal/xilinx-versal.scc | 12 ++ 4 files changed, 216 insertions(+) create mode 100644 bsp/xilinx-versal/xilinx-versal-preempt-rt.scc create mode 100644 bsp/xilinx-versal/xilinx-versal-standard.scc create mode 100644 bsp/xilinx-versal/xilinx-versal.cfg create mode 100644 bsp/xilinx-versal/xilinx-versal.scc diff --git a/bsp/xilinx-versal/xilinx-versal-preempt-rt.scc b/bsp/xilinx-versal/xilinx-versal-preempt-rt.scc new file mode 100644 index 00..92e66a00cc --- /dev/null +++ b/bsp/xilinx-versal/xilinx-versal-preempt-rt.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE xilinx-versal +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt + +include xilinx-versal.scc diff --git a/bsp/xilinx-versal/xilinx-versal-standard.scc b/bsp/xilinx-versal/xilinx-versal-standard.scc new file mode 100644 index 00..c589699062 --- /dev/null +++ b/bsp/xilinx-versal/xilinx-versal-standard.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE xilinx-versal +define KTYPE standard +define KARCH arm64 + +include ktypes/standard/standard.scc + +include xilinx-versal.scc diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg new file mode 100644 index 00..6755af4129 --- /dev/null +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -0,0 +1,188 @@ +# SPDX-License-Identifier: MIT +CONFIG_ARM64=y +CONFIG_ARCH_ZYNQMP=y +CONFIG_ARM64_4K_PAGES=y +CONFIG_SMP=y + +# 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_SPI_NOR=y +# 4K-size sector cost much time during erasing the whole chip +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set + +CONFIG_OF=y +CONFIG_OF_MDIO=y +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_CADENCE=y +CONFIG_MACB=y +CONFIG_XILINX_EMACLITE=y +CONFIG_XILINX_AXI_EMAC=y + +CONFIG_PHYLIB=y +CONFIG_XILINX_PHY=y +CONFIG_DP83848_PHY=y +CONFIG_DP83867_PHY=y +CONFIG_PHY_XILINX_ZYNQMP=y + +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_AMBA_PL010=y +CONFIG_SERIAL_AMBA_PL010_CONSOLE=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=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_EEPROM_AT24=y + + +CONFIG_SPI=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_CADENCE=y +CONFIG_SPI_CADENCE_QUADSPI=y +CONFIG_SPI_XILINX=y +CONFIG_SPI_ZYNQMP_GQSPI=y + +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +CONFIG_GPIO_ZYNQ=y + +CONFIG_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_ULPI_BUS=y + +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ARASAN=y + +CONFIG_RAS=y +CONFIG_EDAC=y +CONFIG_EDAC_XILINX_DDR=y +CONFIG_EDAC_XILINX_XILSEM=y + +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_DRV_ZYNQMP=y + +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=256 + +CONFIG_XILINX_ZYNQMP_DMA=y + +CONFIG_UIO=y +CONFIG_UIO_PDRV_GENIRQ=y +CONFIG_UIO_DMEM_GENIRQ=y +# +CONFIG_REMOTEPROC=y +CONFIG_RPMSG_CHAR=m +CONFIG_ZYNQMP_R5_REMOTEPROC=m + +CONFIG_STAGING=y + +CONFIG_IIO=y + +CONFIG_OF_OVERLAY=y +CONFIG_OF_CONFIGFS=y + +CONFIG_FPGA=y +CONFIG_FPGA_MGR_VERSAL_FPGA=y +CONFIG_FPGA_REGION=y +CONFIG_OF_FPGA_REGION=y + +CONFIG_REGULATOR=y + +CONFIG_MEDIA_SUPPORT=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_VIDEO_XILINX=y +CONFIG_VIDEO_XILINX_CFA=y +CONFIG_VIDEO_XILINX_CRESAMPLE=y +CONFIG_VIDEO_XILINX_HLS=y +CONFIG_VIDEO_XILINX_REMAPPER=y +CONFIG_VIDEO_XILINX_RGB2YUV=y +CONFIG_VIDEO_XILINX_SCALER=y +CONFIG_VIDEO_XILINX_SWITCH=y +CONFIG_VIDEO_XILINX_TPG=y +CONFIG_VIDEO_XILINX_VTC=y +CONFIG_VIDEO_XILINX_SDIRXSS=y +CONFIG_VIDEO_XILINX_AXI4S_SWITCH=y +CONFIG_VIDEO_XILINX_SCD=y +CONFIG_VIDEO_XILINX_M2M=y +CONFIG_VIDEO_XILINX_MULTISCALER=y + +CONFIG_DRM=y +CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_BRIDGE=y +CONFIG_HDMI=y + +CONFIG_DRM_XLNX=y +CONFIG_DRM_XLNX_BRIDGE=y +CONFIG_DRM_XLNX_BRIDGE_DEBUG_FS=y +CONFIG_DRM_ZYNQMP_DPSUB=y +CONFIG_DRM_XLNX_DSI=y +CONFIG_DRM_XLNX_MIXER=y +CONFIG_DRM_XLNX_PL_DISP=y +CONFIG_DRM_XLNX_SDI=y +CONFIG_DRM_XLNX_BRIDGE_CSC=y
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: dts: versal: add i2c devices
From: Quanyang Wang The vck190/vmk180 boards are equipped with i2c devices: - GPIO Expander: TCA6416 - I2C Switch: PCA9548 - Programmable XO/VCXO: SI570 - EEPROM: M24128-BR - System Synchronizer for IEEE 1588: 8A34001 - Current & Power Monitor: INA226 - Fan Speed Controller: MAX6643 This patch add listed devices to dts. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- .../boot/dts/xilinx/versal-vmk180-revA.dts| 327 ++ 1 file changed, 327 insertions(+) diff --git a/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts b/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts index 10c67c9339d3..db394ac081ac 100644 --- a/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts +++ b/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts @@ -118,10 +118,337 @@ &gem1 { /* PMC_MIO_49, LPD_MIO12-23 */ &i2c0 { /* PMC_MIO46/47 */ status = "okay"; + + tca6416_u233: gpio@20 { + compatible = "ti,tca6416"; + reg = <0x20>; + gpio-controller; /* IRQ not connected */ + #gpio-cells = <2>; + gpio-line-names = "MAX6643_OT_B", "MAX6643_FANFAIL_B", "", "", "PMBUS2_INA226_ALERT", "", "", + "MAX6643_FULLSPD", "FMCP1_FMC_PRSNT_M2C_B", "FMCP2_FMC_PRSNT_M2C_B", + "FMCP1_FMCP_PRSNT_M2C_B", "FMCP2_FMCP_PRSNT_M2C_B", "VCCINT_VRHOT_B", + "8A34001_EXP_RST_B", "PMBUS_ALERT", "PMBUS1_INA226_ALERT"; + }; + + i2c-mux@74 { + compatible = "nxp,pca9548"; /* u33 */ + #address-cells = <1>; + #size-cells = <0>; + reg = <0x74>; + + i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + /* PMBUS */ + }; + i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + /* PMBUS1_INA226 */ + u65: ina226@40 { /* u65 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u65"; + reg = <0x40>; + shunt-resistor = <500>; /* R440 */ + }; + u161: ina226@41 { /* u161 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u161"; + reg = <0x41>; + shunt-resistor = <500>; /* R1702 */ + }; + u163: ina226@42 { /* u163 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u163"; + reg = <0x42>; + shunt-resistor = <5000>; /* R1214 */ + }; + u162: ina226@43 { /* u162 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u162"; + reg = <0x43>; + shunt-resistor = <5000>; /* R1221 */ + }; + u165: ina226@44 { /* u165 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u165"; + reg = <0x44>; + shunt-resistor = <5000>; /* R1216 */ + }; + u164: ina226@45 { /* u164 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u164"; + reg = <0x45>; + shunt-resistor = <5000>; /* R1219 */ + }; + }; + /* 2 unconnected */ + i2c@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + /* PMBUS2_INA226 */ + u166: ina226@40 { /* u166 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u166"; + reg = <0x40>; +
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] gpio: zynq: fix zynqmp_gpio not an immutable chip warning
From: Manikanta Guntupalli commit f5691439353783ef114876849c70d2a641e09498 upstream. Make the struct irq_chip const and flag it as IRQCHIP_IMMUTABLE, call gpiochip_disable_irq() in the .irq_mask() callback and gpiochip_enable_irq() in the .irq_unmask() callback to fix "gpio gpiochip1: (zynqmp_gpio): not an immutable chip" warning. Signed-off-by: Manikanta Guntupalli Reviewed-by: Linus Walleij Signed-off-by: Bartosz Golaszewski --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/gpio/gpio-zynq.c | 22 +++--- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c index 06c6401f02b89..c334e46033bae 100644 --- a/drivers/gpio/gpio-zynq.c +++ b/drivers/gpio/gpio-zynq.c @@ -151,8 +151,8 @@ struct zynq_platform_data { int bank_max[ZYNQMP_GPIO_MAX_BANK]; }; -static struct irq_chip zynq_gpio_level_irqchip; -static struct irq_chip zynq_gpio_edge_irqchip; +static const struct irq_chip zynq_gpio_level_irqchip; +static const struct irq_chip zynq_gpio_edge_irqchip; /** * zynq_gpio_is_zynq - test if HW is zynq or zynqmp @@ -404,9 +404,12 @@ static int zynq_gpio_get_direction(struct gpio_chip *chip, unsigned int pin) static void zynq_gpio_irq_mask(struct irq_data *irq_data) { unsigned int device_pin_num, bank_num, bank_pin_num; + const unsigned long offset = irqd_to_hwirq(irq_data); + struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); struct zynq_gpio *gpio = gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); + gpiochip_disable_irq(chip, offset); device_pin_num = irq_data->hwirq; zynq_gpio_get_bank_pin(device_pin_num, &bank_num, &bank_pin_num, gpio); writel_relaxed(BIT(bank_pin_num), @@ -425,9 +428,12 @@ static void zynq_gpio_irq_mask(struct irq_data *irq_data) static void zynq_gpio_irq_unmask(struct irq_data *irq_data) { unsigned int device_pin_num, bank_num, bank_pin_num; + const unsigned long offset = irqd_to_hwirq(irq_data); + struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); struct zynq_gpio *gpio = gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); + gpiochip_enable_irq(chip, offset); device_pin_num = irq_data->hwirq; zynq_gpio_get_bank_pin(device_pin_num, &bank_num, &bank_pin_num, gpio); writel_relaxed(BIT(bank_pin_num), @@ -590,7 +596,7 @@ static void zynq_gpio_irq_relres(struct irq_data *d) } /* irq chip descriptor */ -static struct irq_chip zynq_gpio_level_irqchip = { +static const struct irq_chip zynq_gpio_level_irqchip = { .name = DRIVER_NAME, .irq_enable = zynq_gpio_irq_enable, .irq_eoi= zynq_gpio_irq_ack, @@ -601,10 +607,11 @@ static struct irq_chip zynq_gpio_level_irqchip = { .irq_request_resources = zynq_gpio_irq_reqres, .irq_release_resources = zynq_gpio_irq_relres, .flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED | - IRQCHIP_MASK_ON_SUSPEND, + IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, }; -static struct irq_chip zynq_gpio_edge_irqchip = { +static const struct irq_chip zynq_gpio_edge_irqchip = { .name = DRIVER_NAME, .irq_enable = zynq_gpio_irq_enable, .irq_ack= zynq_gpio_irq_ack, @@ -614,7 +621,8 @@ static struct irq_chip zynq_gpio_edge_irqchip = { .irq_set_wake = zynq_gpio_set_wake, .irq_request_resources = zynq_gpio_irq_reqres, .irq_release_resources = zynq_gpio_irq_relres, - .flags = IRQCHIP_MASK_ON_SUSPEND, + .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, }; static void zynq_gpio_handle_bank_irq(struct zynq_gpio *gpio, @@ -962,7 +970,7 @@ static int zynq_gpio_probe(struct platform_device *pdev) /* Set up the GPIO irqchip */ girq = &chip->irq; - girq->chip = &zynq_gpio_edge_irqchip; + gpio_irq_chip_set_chip(girq, &zynq_gpio_edge_irqchip); girq->parent_handler = zynq_gpio_irqhandler; girq->num_parents = 1; girq->parents = devm_kcalloc(&pdev->dev, 1, -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12981): https://lists.yoctoproject.org/g/linux-yocto/message/12981 Mute This Topic: https://lists.yoctoproject.org/mt/100792612/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] firmware: xilinx: fix enum mismatch
From: Quanyang Wang With gcc-13, the following mismatch is reported: drivers/firmware/xilinx/zynqmp.c:1817:5: warning: conflicting types for ‘zynqmp_pm_set_rpu_mode’ due to enum/integer mismatch; have ‘int(u32, enum rpu_oper_mode)’ {aka ‘int(unsigned int, enum rpu_oper_mode)’} [-Wenum-int-mismatch] 1817 | int zynqmp_pm_set_rpu_mode(u32 node_id, enum rpu_oper_mode rpu_mode) | ^~ In file included from drivers/firmware/xilinx/zynqmp.c:28: ./include/linux/firmware/xlnx-zynqmp.h:756:5: note: previous declaration of ‘zynqmp_pm_set_rpu_mode’ with type ‘int(u32, u32)’ {aka ‘int(unsigned int, unsigned int)’} 756 | int zynqmp_pm_set_rpu_mode(u32 node_id, u32 arg1); | ^~ drivers/firmware/xilinx/zynqmp.c:1835:5: warning: conflicting types for ‘zynqmp_pm_set_tcm_config’ due to enum/integer mismatch; have ‘int(u32, enum rpu_tcm_comb)’ {aka ‘int(unsigned int, enum rpu_tcm_comb)’} [-Wenum-int-mismatch] 1835 | int zynqmp_pm_set_tcm_config(u32 node_id, enum rpu_tcm_comb tcm_mode) | ^~~~ CC drivers/firmware/efi/libstub/string.o ./include/linux/firmware/xlnx-zynqmp.h:757:5: note: previous declaration of ‘zynqmp_pm_set_tcm_config’ with type ‘int(u32, u32)’ {aka ‘int(unsigned int, unsigned int)’} 757 | int zynqmp_pm_set_tcm_config(u32 node_id, u32 arg1); | ^~~~ Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- include/linux/firmware/xlnx-zynqmp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h index 7a650e3111991..dea03368a55bc 100644 --- a/include/linux/firmware/xlnx-zynqmp.h +++ b/include/linux/firmware/xlnx-zynqmp.h @@ -755,8 +755,8 @@ int zynqmp_pm_request_wake(const u32 node, const u64 address, const enum zynqmp_pm_request_ack ack); int zynqmp_pm_get_rpu_mode(u32 node_id, enum rpu_oper_mode *rpu_mode); -int zynqmp_pm_set_rpu_mode(u32 node_id, u32 arg1); -int zynqmp_pm_set_tcm_config(u32 node_id, u32 arg1); +int zynqmp_pm_set_rpu_mode(u32 node_id, enum rpu_oper_mode arg1); +int zynqmp_pm_set_tcm_config(u32 node_id, enum rpu_tcm_comb arg1); int zynqmp_pm_pinctrl_request(const u32 pin); int zynqmp_pm_pinctrl_release(const u32 pin); int zynqmp_pm_pinctrl_get_function(const u32 pin, u32 *id); -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13111): https://lists.yoctoproject.org/g/linux-yocto/message/13111 Mute This Topic: https://lists.yoctoproject.org/mt/101590471/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] misc: Kconfig: drop the merge conflicted hunk
From: Quanyang Wang The kernel option OPEN_DICE has been removed in commit 9989598547560 ("drivers: misc: Add Support for TMR Manager"). Remove it to fix the merge conflicted hunk. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/misc/Kconfig | 7 --- 1 file changed, 7 deletions(-) diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index f60366ef4dafe..c1b1b57223776 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -499,16 +499,9 @@ config HISI_HIKEY_USB switching between the dual-role USB-C port and the USB-A host ports using only one USB controller. -<<< HEAD config TMR_MANAGER bool "Select TMR Manager" depends on MICROBLAZE && MB_MANAGER -=== -config OPEN_DICE - tristate "Open Profile for DICE driver" - depends on OF_RESERVED_MEM - depends on HAS_IOMEM ->>> v6.1/standard/base help This option enables the driver developed for TMR Manager. The Triple Modular Redundancy(TMR) manager provides support for fault detection -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13132): https://lists.yoctoproject.org/g/linux-yocto/message/13132 Mute This Topic: https://lists.yoctoproject.org/mt/101615596/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL
From: Quanyang Wang The latest SDK BSP38 RC9 drops the S32CC_THERMAL config and changes to use QORIQ_THERMAL instead, so update kernel cache to compatible with it. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 14ad889b97..5f266fede3 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -119,7 +119,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32CC_THERMAL=y +CONFIG_QORIQ_THERMAL=y # ADC CONFIG_IIO=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13140): https://lists.yoctoproject.org/g/linux-yocto/message/13140 Mute This Topic: https://lists.yoctoproject.org/mt/101634503/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] dts: Aptiv-FL: drop llce_boot_status label
From: Quanyang Wang In commit 8dad1958c9d75 ("s32: llce: Refactor shared memory area"), the node llce_boot_status is removed. So we need to delete the label &llce_boot_status from s32gxxxa-cvc-fl.dtsi. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 4 1 file changed, 4 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 961ba2ec13581..f3569655f83d4 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -781,10 +781,6 @@ &llce_shmem { status = "okay"; }; -&llce_boot_status { - status = "okay"; -}; - &llce_can1 { status = "okay"; }; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13141): https://lists.yoctoproject.org/g/linux-yocto/message/13141 Mute This Topic: https://lists.yoctoproject.org/mt/101634954/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL
Hi Bruce, On 10/2/23 11:19, Bruce Ashfield wrote: In message: [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL on 28/09/2023 quanyang.w...@windriver.com wrote: From: Quanyang Wang The latest SDK BSP38 RC9 drops the S32CC_THERMAL config and changes to use QORIQ_THERMAL instead, so update kernel cache to compatible with it. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 merged. I can't find this patch. Would you please help to check it again? Thanks, Quanyang Bruce Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 14ad889b97..5f266fede3 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -119,7 +119,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32CC_THERMAL=y +CONFIG_QORIQ_THERMAL=y # ADC CONFIG_IIO=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13149): https://lists.yoctoproject.org/g/linux-yocto/message/13149 Mute This Topic: https://lists.yoctoproject.org/mt/101634503/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] flash_fs: disable 4K sector when ubifs is enabled
From: Quanyang Wang When CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is enabled, mounting ubifs will trigger the following error log: UBIFS error (ubi0:0 pid 588): init_constants_early: too small LEBs (3968 bytes), min. is 15360 bytes This is because that c->leb_size is required to be larger than 15*1024. And c->leb_size is calculated by the formula: c->leb_size = ubi->mtd->erasesize - ubi->leb_start - data_pad So if erasesize is set to be 4K, ubifs will fail to work. Let's disable this kernel option explicitly while UBIFS is enabled. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- cfg/fs/flash_fs.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/cfg/fs/flash_fs.cfg b/cfg/fs/flash_fs.cfg index f9aef96ebb..291f40135f 100644 --- a/cfg/fs/flash_fs.cfg +++ b/cfg/fs/flash_fs.cfg @@ -19,3 +19,4 @@ CONFIG_YAFFS_AUTO_YAFFS2=y CONFIG_MTD_UBI=y CONFIG_UBIFS_FS=y +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=n -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13150): https://lists.yoctoproject.org/g/linux-yocto/message/13150 Mute This Topic: https://lists.yoctoproject.org/mt/101829936/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] xilinx-zynq: add flash_fs.cfg
From: Quanyang Wang Add flash_fs.cfg since there are flash chips at zynq boards. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynq/xilinx-zynq.scc | 1 + 1 file changed, 1 insertion(+) diff --git a/bsp/xilinx-zynq/xilinx-zynq.scc b/bsp/xilinx-zynq/xilinx-zynq.scc index 621f6954dc..3e395f691f 100644 --- a/bsp/xilinx-zynq/xilinx-zynq.scc +++ b/bsp/xilinx-zynq/xilinx-zynq.scc @@ -4,5 +4,6 @@ include features/spi/spi.scc include features/spi/spidev.scc include features/usb/ehci-hcd.scc include features/debug/debug-kernel.scc +include cfg/fs/flash_fs.cfg kconf hardware xilinx-zynq.cfg -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13151): https://lists.yoctoproject.org/g/linux-yocto/message/13151 Mute This Topic: https://lists.yoctoproject.org/mt/101829943/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL
Hi Bruce, On 10/9/23 09:17, Bruce Ashfield wrote: In message: Re: [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL on 07/10/2023 Quanyang Wang wrote: Hi Bruce, On 10/2/23 11:19, Bruce Ashfield wrote: In message: [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL on 28/09/2023 quanyang.w...@windriver.com wrote: From: Quanyang Wang The latest SDK BSP38 RC9 drops the S32CC_THERMAL config and changes to use QORIQ_THERMAL instead, so update kernel cache to compatible with it. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 merged. I can't find this patch. Would you please help to check it again? Can you see it now ? https://git.yoctoproject.org/yocto-kernel-cache/commit/?h=yocto-5.15&id=fd045a9376ffd9dbdd1c7c305ef3a63dedc308aa Sorry for replying late. I can see it now. Many thanks. BR, Quanyang Bruce Thanks, Quanyang Bruce Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 14ad889b97..5f266fede3 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -119,7 +119,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32CC_THERMAL=y +CONFIG_QORIQ_THERMAL=y # ADC CONFIG_IIO=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13166): https://lists.yoctoproject.org/g/linux-yocto/message/13166 Mute This Topic: https://lists.yoctoproject.org/mt/101634503/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL
From: Quanyang Wang The latest SDK BSP38 RC9 drops the S32CC_THERMAL config and changes to use QORIQ_THERMAL instead, so update kernel cache to compatible with it. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 5714cb9c74..71a96fd870 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -120,7 +120,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32CC_THERMAL=y +CONFIG_QORIQ_THERMAL=y # ADC CONFIG_IIO=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13278): https://lists.yoctoproject.org/g/linux-yocto/message/13278 Mute This Topic: https://lists.yoctoproject.org/mt/102501784/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] aptiv-s32g: add aptiv-cvc-131 machine support
From: Quanyang Wang Add the new machine aptiv-cvc-131 support. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc | 1 + 1 file changed, 1 insertion(+) diff --git a/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc index d8a0c51af0..9dfbe1a498 100644 --- a/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc +++ b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc @@ -1,5 +1,6 @@ # SPDX-License-Identifier: MIT define KMACHINE aptiv-cvc-fl +define KMACHINE aptiv-cvc-131 define KTYPE preempt-rt define KARCH arm64 -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13317): https://lists.yoctoproject.org/g/linux-yocto/message/13317 Mute This Topic: https://lists.yoctoproject.org/mt/102847516/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] gpio: s32: make irq_chip immutable
From: Quanyang Wang The kernel requires that the flag IRQCHIP_IMMUTABLE is set for irqchip structure in gpio driver, or else it complains with: gpio gpiochip0: (4009d700.siul2-gpio): not an immutable chip, please consider fixing it! Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- drivers/gpio/gpio-siul2-s32cc.c | 25 +++-- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/drivers/gpio/gpio-siul2-s32cc.c b/drivers/gpio/gpio-siul2-s32cc.c index 668eab91859f2..5db92ad73772d 100644 --- a/drivers/gpio/gpio-siul2-s32cc.c +++ b/drivers/gpio/gpio-siul2-s32cc.c @@ -153,7 +153,6 @@ struct siul2_gpio_dev { struct regmap *irqmap; struct regmap *eirqimcrsmap; struct gpio_chip gc; - struct irq_chip irq; /* Mutual access to SIUL2 registers. */ raw_spinlock_t lock; @@ -473,6 +472,8 @@ static void siul2_gpio_irq_unmask(struct irq_data *data) return; } + gpiochip_enable_irq(gc, gpio); + /* Disable interrupt */ regmap_update_bits(gpio_dev->irqmap, SIUL2_DIRER0, mask, 0); @@ -526,6 +527,8 @@ static void siul2_gpio_irq_mask(struct irq_data *data) regmap_write(gpio_dev->eirqimcrsmap, SIUL2_EIRQ_REG(platdata->irqs[index].eirq), 0); + + gpiochip_disable_irq(gc, gpio); } static const struct regmap_config siul2_regmap_conf = { @@ -1101,6 +1104,16 @@ static int siul2_gpio_populate_names(struct device *dev, return 0; } +static const struct irq_chip siul2_irqchip = { + .name = "gpio-siul2", + .irq_ack= siul2_gpio_irq_mask, + .irq_mask = siul2_gpio_irq_mask, + .irq_unmask = siul2_gpio_irq_unmask, + .irq_set_type = siul2_gpio_irq_set_type, + .flags = IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, +}; + static int siul2_gpio_probe(struct platform_device *pdev) { int err = 0; @@ -1173,14 +1186,6 @@ static int siul2_gpio_probe(struct platform_device *pdev) sizeof(*gpio_dev->pin_dir_bitmap); gpio_dev->pin_dir_bitmap = devm_kzalloc(dev, bitmap_size, GFP_KERNEL); - gpio_dev->irq = (struct irq_chip) { - .name = dev_name(dev), - .irq_ack= siul2_gpio_irq_mask, - .irq_mask = siul2_gpio_irq_mask, - .irq_unmask = siul2_gpio_irq_unmask, - .irq_set_type = siul2_gpio_irq_set_type, - }; - gc->parent = dev; gc->label = dev_name(dev); @@ -1195,7 +1200,7 @@ static int siul2_gpio_probe(struct platform_device *pdev) gc->owner = THIS_MODULE; girq = &gc->irq; - girq->chip = &gpio_dev->irq; + gpio_irq_chip_set_chip(girq, &siul2_irqchip); girq->parent_handler = NULL; girq->num_parents = 0; girq->parents = NULL; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13318): https://lists.yoctoproject.org/g/linux-yocto/message/13318 Mute This Topic: https://lists.yoctoproject.org/mt/102847614/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 0/2]
From: Quanyang Wang Hi Bruce, Would you please help merge these 2 patches to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang Quanyang Wang (2): drivers: stmmac: add condition check on phydev dts: Aptiv-FL: enable gmac0 device node arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 +- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13350): https://lists.yoctoproject.org/g/linux-yocto/message/13350 Mute This Topic: https://lists.yoctoproject.org/mt/102966199/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 1/2] drivers: stmmac: add condition check on phydev
From: Quanyang Wang When stmmac is using fixed-link mode, dev->phydev is NULL after calling stmmac_init_phy, so we need to add condition check if dev->phydev is NULL pointer. This patch is to fix the following calltrace: Unable to handle kernel NULL pointer dereference at virtual address 0435 Mem abort info: ESR = 0x9605 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x05: level 1 translation fault Data abort info: ISV = 0, ISS = 0x0005 CM = 0, WnR = 0 user pgtable: 4k pages, 39-bit VAs, pgdp=000882fea000 [0435] pgd=, p4d=, pud= Internal error: Oops: 9605 [#1] PREEMPT_RT SMP Modules linked in: 8021q pfeng(O) s32cc_adc llce_core ci_hdrc_imx usbmisc_imx flexcan firmware_class industrialio_triggered_buffer i2c_imx kfifo_buf pwm_fsl_ftm sch_fq_codel openvswitch nsh nf_conncount nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 fuse CPU: 5 PID: 375 Comm: dhcpcd Tainted: G O 6.1.62-rt10-yocto-preempt-rt #66 Hardware name: Freescale S32G399A (DT) pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __stmmac_open+0x374/0x418 lr : __stmmac_open+0x370/0x418 sp : ffc00c633a50 x29: ffc00c633a50 x28: 1043 x27: ff8800371e00 x26: x25: 000a x24: ff8802eec240 x23: ff8800d8dc10 x22: ff8800cae000 x21: x20: ff88026c8000 x19: ff88026c89c0 x18: 0020 x17: x16: x15: ff8802eec6d8 x14: 0001 x13: ffc0094cfefa x12: ffc0094cfef6 x11: 0040 x10: 000a x9 : ffc0080a5414 x8 : 000a x7 : 647968703d3d3d3d x6 : x5 : ff885bfb6ae0 x4 : x3 : 0027 x2 : x1 : x0 : 0018 Call trace: __stmmac_open+0x374/0x418 stmmac_open+0x48/0xa0 __dev_open+0x10c/0x1c8 __dev_change_flags+0x174/0x1d0 dev_change_flags+0x2c/0x70 devinet_ioctl+0x664/0x738 inet_ioctl+0x1e4/0x1f8 sock_do_ioctl+0x50/0x100 sock_ioctl+0x234/0x358 __arm64_sys_ioctl+0xb0/0xf8 invoke_syscall+0x58/0x120 el0_svc_common.constprop.0+0x4c/0xf8 do_el0_svc+0x34/0xc0 el0_svc+0x2c/0x88 el0t_64_sync_handler+0xb8/0xc0 el0t_64_sync+0x18c/0x190 Code: b0003440 910f6000 940f8975 f9448a81 (3950d420) Signed-off-by: Quanyang Wang --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 460aaf5a430e2..6c5d5c562c70d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3894,7 +3894,8 @@ static int __stmmac_open(struct net_device *dev, stmmac_enable_all_dma_irq(priv); /* Indicate that the MAC is responsible for PHY PM */ - dev->phydev->mac_managed_pm = true; + if (dev->phydev) + dev->phydev->mac_managed_pm = true; return 0; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13351): https://lists.yoctoproject.org/g/linux-yocto/message/13351 Mute This Topic: https://lists.yoctoproject.org/mt/102966200/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 2/2] dts: Aptiv-FL: enable gmac0 device node
From: Quanyang Wang Enable gmac0 device and set it to be a fixed link. Signed-off-by: Quanyang Wang --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index f3569655f83d4..537eda907e80d 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -37,11 +37,15 @@ &qspi { &gmac0 { /* Before enabling SJA1110, set it to be "disabled" */ - status = "disabled"; + status = "okay"; phy-mode = "rgmii"; phy-handle = <&gmac0_mdio_c_phy19>; pinctrl-names = "default"; pinctrl-0 = <&gmac0rgmiic_pins>, <&gmac0mdioc_pins>; + fixed-link { + speed = <1000>; + full-duplex; + }; }; &gmac0_mdio { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13352): https://lists.yoctoproject.org/g/linux-yocto/message/13352 Mute This Topic: https://lists.yoctoproject.org/mt/102966201/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/sdkv6.1/xlnx-soc] Xilinx: update to v2023.02
Hi Bruce, Would you please help merge these patches to the branch: v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang The following changes since commit e3fd2fcea42cce5b322c4b54f58d98fa67cd5a6e: net: axienet: Fix check for partial TX checksum (2023-12-04 10:14:50 -0500) are available in the Git repository at: g...@github.com:wqyoung/linux-yocto-dev.git wqy/xlnx/6.1/standard/2023.02 for you to fetch changes up to 89f70febab7f9b50039fce82243f00407e2f568a: net: macb: Set MDIO clock divisor for pclk higher than 160MHz (2023-12-05 15:46:30 +0800) Abhijit Gangurde (13): cdx: Setting correct MSI msg value when irq_write_msi_msg is called cdx: Move MSI domain initialization code to controller code cdx: check return value of cdx_rpmsg_send cdx: Remove unnecessary wrapper function cdx_mcdi_cmd_start_or_queue_ext cdx: Include rpmsg header rpmsg.h in mcdi.h file cdx: Rename MCDI_LOGGING to CDX_MCDI_LOGGING cdx: Set num_msi variable when msi domain is created vfio/cdx: Rename vfio_cdx, vfio_cdx_intr, vfio_cdx_private.h files rpmsg: Make MAX_RPMSG_BUF_SIZE configurable from kconfig cdx: Replace custom mcdi logging with print_hex_dump_debug() cdx: Sending MSI msg to firmware from preemptible task context vfio/cdx: Use module_driver macro vfio/cdx: Remove unnecessary wrapper functions, macros. Amit Cohen (1): ethtool: Add support for 800Gbps link modes Amit Kumar Mahapatra (18): mtd: spi-nor: issi: Fix flash lock failure on ISSI flash parts arm64: zynqmp: Add new parallel DT binding for ZC1751+DC1 board arm64: versal-net: Add new parallel DT binding for tenzing se9 board arm64: versal-net: Update spi-max-freq to 150Mhz arm64: versal-net: Update spi-tx-bus-width to 4 Revert "mtd: rawnand: arasan: Prevent an unsupported configuration" arm64: dts: zynqmp: make hw-ecc as the default ecc mode spi: Fix kernel crash while using GPIO CS dt-bindings: mtd: jedec, spi-nor: Add DT property to avoid setting SRWD bit in status register mtd: spi-nor: Avoid setting SRWD bit in SR if WP# signal not connected mtd: spi-nor: Add flash protection support for OSPI flashes mtd: spi-nor: issi: Disable 16bit status register write arm64: versal: Add no-wp DT property in OSPI flash node mtd: spi-nor: Avoid writing EAR register for flashes less than 16MB mtd: spi-nor: For Winbond flashes with multiple die check WIP of each die spi: spi-cadence: Correct irq sequence for read mtd: spi-nor: Fix Write failure in SST flashes mtd: rawnand: arasan: Avoid overwriting valid data while checking for bitflips during HW-ECC read Arnd Bergmann (1): gpio: synq: remove unused zynq_gpio_irq_reqres/zynq_gpio_irq_relres Ashok Reddy Soma (1): arm64: zynqmp: Configure gem1 rx pins on kd240 board Bartosz Wawrzyniak (1): net: macb: Set MDIO clock divisor for pclk higher than 160MHz Ben Levinsky (1): rpmsg: virtio: show virtqueue debug information Christophe JAILLET (1): watchdog: of_xilinx_wdt: Use devm_clk_get_enabled() helper Conall O'Griofa (4): drivers: iio: adc: xilinx-ams: Add over temperature interrupts drivers: iio: adc: Split driver into common and platform drivers: iio: adc: versal-sysmon: Add I2C driver drivers: iio: adc: xadc: Correct Write edge in CFG Daniel Giritzer (1): mtd: spi-nor: Use nor->info->id[0] for manufacturer id Daniele Palmas (1): ethtool: add tx aggregation parameters Govindarajulu Varadarajan (7): misc: xilinx-ai-engine: Import DMA_BUF module misc: xilinx-ai-engine: Add l1/l2_ctrl register offsets for aieml misc: xilinx-ai-engine: remove loc from aie_get_bc_event() misc: xilinx-ai-engine: add support for events in mem tile misc: xilinx-ai-engine: Add error interrupt support for aie2 hw uio_xilinx_ai_engine: Fix irq number in call to irq_set_irqchip_state uio_xilinx_ai_engine: Fix return value of xilinx_ai_engine_simulate_irq Gregory Williams (6): misc: xilinx-ai-engine: Add DMA buffer descriptor register attributes misc: xilinx-ai-engine: Add sysfs nodes to show DMA buffer descriptor metadata misc: xilinx-ai-engine: Print wrap value in BD sysfs node misc: xilinx-ai-engine: Fix compilation warning misc: xilinx-ai-engine: Fix dereference of null pointer misc: xilinx-ai-engine: Fix bug in setting Harini Katakam (7): Revert "phy: dp83867: Add support for SGMII" Revert "net: macb: Disable macb pad and fcs for fragmented packets" arm64: zynqmp: Assign TSU clock frequency for KR260 arm64: zynqmp: Assign TSU clock frequency for KV and KD boards arm64: versal_net: Update RMII property arm64: versal-net: Adjust TI PHY impedance ptp: xilinx: Add workaround for EXTTS inter
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc] Xilinx: update to v2023.02
Hi Bruce, Would you please help merge these patches to the branch: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc Thanks, Quanyang The following changes since commit de67708a86ef9bca7e9233ce3dee2f370f0c178c: net: axienet: Fix check for partial TX checksum (2023-12-04 10:14:51 -0500) are available in the Git repository at: g...@github.com:wqyoung/linux-yocto-dev.git wqy/xlnx/6.1/preempt-rt/2023.02 for you to fetch changes up to 5222d104e04217b18bb2594890b1d0818933a04c: net: macb: Set MDIO clock divisor for pclk higher than 160MHz (2023-12-05 15:56:54 +0800) Abhijit Gangurde (13): cdx: Setting correct MSI msg value when irq_write_msi_msg is called cdx: Move MSI domain initialization code to controller code cdx: check return value of cdx_rpmsg_send cdx: Remove unnecessary wrapper function cdx_mcdi_cmd_start_or_queue_ext cdx: Include rpmsg header rpmsg.h in mcdi.h file cdx: Rename MCDI_LOGGING to CDX_MCDI_LOGGING cdx: Set num_msi variable when msi domain is created vfio/cdx: Rename vfio_cdx, vfio_cdx_intr, vfio_cdx_private.h files rpmsg: Make MAX_RPMSG_BUF_SIZE configurable from kconfig cdx: Replace custom mcdi logging with print_hex_dump_debug() cdx: Sending MSI msg to firmware from preemptible task context vfio/cdx: Use module_driver macro vfio/cdx: Remove unnecessary wrapper functions, macros. Amit Cohen (1): ethtool: Add support for 800Gbps link modes Amit Kumar Mahapatra (18): mtd: spi-nor: issi: Fix flash lock failure on ISSI flash parts arm64: zynqmp: Add new parallel DT binding for ZC1751+DC1 board arm64: versal-net: Add new parallel DT binding for tenzing se9 board arm64: versal-net: Update spi-max-freq to 150Mhz arm64: versal-net: Update spi-tx-bus-width to 4 Revert "mtd: rawnand: arasan: Prevent an unsupported configuration" arm64: dts: zynqmp: make hw-ecc as the default ecc mode spi: Fix kernel crash while using GPIO CS dt-bindings: mtd: jedec, spi-nor: Add DT property to avoid setting SRWD bit in status register mtd: spi-nor: Avoid setting SRWD bit in SR if WP# signal not connected mtd: spi-nor: Add flash protection support for OSPI flashes mtd: spi-nor: issi: Disable 16bit status register write arm64: versal: Add no-wp DT property in OSPI flash node mtd: spi-nor: Avoid writing EAR register for flashes less than 16MB mtd: spi-nor: For Winbond flashes with multiple die check WIP of each die spi: spi-cadence: Correct irq sequence for read mtd: spi-nor: Fix Write failure in SST flashes mtd: rawnand: arasan: Avoid overwriting valid data while checking for bitflips during HW-ECC read Arnd Bergmann (1): gpio: synq: remove unused zynq_gpio_irq_reqres/zynq_gpio_irq_relres Ashok Reddy Soma (1): arm64: zynqmp: Configure gem1 rx pins on kd240 board Bartosz Wawrzyniak (1): net: macb: Set MDIO clock divisor for pclk higher than 160MHz Ben Levinsky (1): rpmsg: virtio: show virtqueue debug information Christophe JAILLET (1): watchdog: of_xilinx_wdt: Use devm_clk_get_enabled() helper Conall O'Griofa (4): drivers: iio: adc: xilinx-ams: Add over temperature interrupts drivers: iio: adc: Split driver into common and platform drivers: iio: adc: versal-sysmon: Add I2C driver drivers: iio: adc: xadc: Correct Write edge in CFG Daniel Giritzer (1): mtd: spi-nor: Use nor->info->id[0] for manufacturer id Daniele Palmas (1): ethtool: add tx aggregation parameters Govindarajulu Varadarajan (7): misc: xilinx-ai-engine: Import DMA_BUF module misc: xilinx-ai-engine: Add l1/l2_ctrl register offsets for aieml misc: xilinx-ai-engine: remove loc from aie_get_bc_event() misc: xilinx-ai-engine: add support for events in mem tile misc: xilinx-ai-engine: Add error interrupt support for aie2 hw uio_xilinx_ai_engine: Fix irq number in call to irq_set_irqchip_state uio_xilinx_ai_engine: Fix return value of xilinx_ai_engine_simulate_irq Gregory Williams (6): misc: xilinx-ai-engine: Add DMA buffer descriptor register attributes misc: xilinx-ai-engine: Add sysfs nodes to show DMA buffer descriptor metadata misc: xilinx-ai-engine: Print wrap value in BD sysfs node misc: xilinx-ai-engine: Fix compilation warning misc: xilinx-ai-engine: Fix dereference of null pointer misc: xilinx-ai-engine: Fix bug in setting Harini Katakam (7): Revert "phy: dp83867: Add support for SGMII" Revert "net: macb: Disable macb pad and fcs for fragmented packets" arm64: zynqmp: Assign TSU clock frequency for KR260 arm64: zynqmp: Assign TSU clock frequency for KV and KD boards arm64: versal_net: Update RMII property arm64: versal-net: Adjust TI PHY impedance ptp: xilinx: Add workaround fo
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-versal: add new kernel options introduced by v2023.2
From: Quanyang Wang The kernel opitons and the reasons are listed as following: CONFIG_XILINX_WINDOW_WATCHDOG: Enable upstream WWDT driver for Versal and Versal NET. CONFIG_RESET_CONTROLLER: Enable reset-controller config to provide the dynamic reset feature based on DT reset IDs. It also resolves the failure of the USB dwc3 probe. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-versal/xilinx-versal.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg index 6755af4129..387f9547d9 100644 --- a/bsp/xilinx-versal/xilinx-versal.cfg +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -63,6 +63,7 @@ CONFIG_GPIO_ZYNQ=y CONFIG_WATCHDOG=y CONFIG_XILINX_WATCHDOG=y +CONFIG_XILINX_WINDOW_WATCHDOG=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y @@ -180,6 +181,7 @@ CONFIG_ARM_CCI_PMU=y CONFIG_PERF_EVENTS=y CONFIG_VERSAL_SYSMON=y +CONFIG_RESET_CONTROLLER=y CONFIG_XILINX_AIE=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13421): https://lists.yoctoproject.org/g/linux-yocto/message/13421 Mute This Topic: https://lists.yoctoproject.org/mt/103125401/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] drivers: stmmac: add condition check on phydev
From: Quanyang Wang When stmmac is using fixed-link mode, dev->phydev is NULL after calling stmmac_init_phy, so we need to add condition check if dev->phydev is NULL pointer. This patch is to fix the following calltrace: Unable to handle kernel NULL pointer dereference at virtual address 0435 Mem abort info: ESR = 0x9605 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x05: level 1 translation fault Data abort info: ISV = 0, ISS = 0x0005 CM = 0, WnR = 0 user pgtable: 4k pages, 39-bit VAs, pgdp=000882fea000 [0435] pgd=, p4d=, pud= Internal error: Oops: 9605 [#1] PREEMPT_RT SMP Modules linked in: 8021q pfeng(O) s32cc_adc llce_core ci_hdrc_imx usbmisc_imx flexcan firmware_class industrialio_triggered_buffer i2c_imx kfifo_buf pwm_fsl_ftm sch_fq_codel openvswitch nsh nf_conncount nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 fuse CPU: 5 PID: 375 Comm: dhcpcd Tainted: G O 6.1.62-rt10-yocto-preempt-rt #66 Hardware name: Freescale S32G399A (DT) pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __stmmac_open+0x374/0x418 lr : __stmmac_open+0x370/0x418 sp : ffc00c633a50 x29: ffc00c633a50 x28: 1043 x27: ff8800371e00 x26: x25: 000a x24: ff8802eec240 x23: ff8800d8dc10 x22: ff8800cae000 x21: x20: ff88026c8000 x19: ff88026c89c0 x18: 0020 x17: x16: x15: ff8802eec6d8 x14: 0001 x13: ffc0094cfefa x12: ffc0094cfef6 x11: 0040 x10: 000a x9 : ffc0080a5414 x8 : 000a x7 : 647968703d3d3d3d x6 : x5 : ff885bfb6ae0 x4 : x3 : 0027 x2 : x1 : x0 : 0018 Call trace: __stmmac_open+0x374/0x418 stmmac_open+0x48/0xa0 __dev_open+0x10c/0x1c8 __dev_change_flags+0x174/0x1d0 dev_change_flags+0x2c/0x70 devinet_ioctl+0x664/0x738 inet_ioctl+0x1e4/0x1f8 sock_do_ioctl+0x50/0x100 sock_ioctl+0x234/0x358 __arm64_sys_ioctl+0xb0/0xf8 invoke_syscall+0x58/0x120 el0_svc_common.constprop.0+0x4c/0xf8 do_el0_svc+0x34/0xc0 el0_svc+0x2c/0x88 el0t_64_sync_handler+0xb8/0xc0 el0t_64_sync+0x18c/0x190 Code: b0003440 910f6000 940f8975 f9448a81 (3950d420) Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 1816b87020be3..b9c06e17cf1bf 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3840,7 +3840,8 @@ static int stmmac_open(struct net_device *dev) stmmac_enable_all_dma_irq(priv); /* Indicate that the MAC is responsible for PHY PM */ - dev->phydev->mac_managed_pm = true; + if (dev->phydev) + dev->phydev->mac_managed_pm = true; return 0; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13422): https://lists.yoctoproject.org/g/linux-yocto/message/13422 Mute This Topic: https://lists.yoctoproject.org/mt/103143892/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] dts: Aptiv-FL: enable gmac0 device node
From: Quanyang Wang Enable gmac0 device and set it to be a fixed link. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index f3569655f83d4..537eda907e80d 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -37,11 +37,15 @@ &qspi { &gmac0 { /* Before enabling SJA1110, set it to be "disabled" */ - status = "disabled"; + status = "okay"; phy-mode = "rgmii"; phy-handle = <&gmac0_mdio_c_phy19>; pinctrl-names = "default"; pinctrl-0 = <&gmac0rgmiic_pins>, <&gmac0mdioc_pins>; + fixed-link { + speed = <1000>; + full-duplex; + }; }; &gmac0_mdio { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13423): https://lists.yoctoproject.org/g/linux-yocto/message/13423 Mute This Topic: https://lists.yoctoproject.org/mt/103143893/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] xilinx-zynq: remove redundant kernel option CONFIG_XILINX_PREFETCH
From: Quanyang Wang In SDK commit 4e34bbe7cda03 ("Revert "ARM: zynq: Fix prefetch option""), the kernel option CONFIG_XILINX_PREFETCH is removed. So remove it from kernel-cache. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynq/xilinx-zynq.cfg | 5 - 1 file changed, 5 deletions(-) diff --git a/bsp/xilinx-zynq/xilinx-zynq.cfg b/bsp/xilinx-zynq/xilinx-zynq.cfg index 7af2562fc2..f03caed612 100644 --- a/bsp/xilinx-zynq/xilinx-zynq.cfg +++ b/bsp/xilinx-zynq/xilinx-zynq.cfg @@ -5,11 +5,6 @@ CONFIG_HOTPLUG_CPU=y CONFIG_VMSPLIT_2G=y CONFIG_CC_OPTIMIZE_FOR_SIZE=n -# -# Xilinx Specific Options -# -CONFIG_XILINX_PREFETCH=y - # ERRATA CONFIG_PL310_ERRATA_588369=y CONFIG_ARM_ERRATA_720789=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13439): https://lists.yoctoproject.org/g/linux-yocto/message/13439 Mute This Topic: https://lists.yoctoproject.org/mt/103366881/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-versal: fix duplicated option warning
From: Quanyang Wang There is a duplicated kernel option CONFIG_RESET_CONTROLLER and we need to remove it to fix the warning while do_kernel_configcheck: [INFO]: Fragments with duplicated configuration options: - fragment configs/v6.1/standard/bsp/xilinx-versal/xilinx-versal.cfg has a duplicated option: CONFIG_RESET_CONTROLLER Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-versal/xilinx-versal.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg index 387f9547d9..2b0473ae55 100644 --- a/bsp/xilinx-versal/xilinx-versal.cfg +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -181,7 +181,6 @@ CONFIG_ARM_CCI_PMU=y CONFIG_PERF_EVENTS=y CONFIG_VERSAL_SYSMON=y -CONFIG_RESET_CONTROLLER=y CONFIG_XILINX_AIE=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13440): https://lists.yoctoproject.org/g/linux-yocto/message/13440 Mute This Topic: https://lists.yoctoproject.org/mt/103366884/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] dts: Aptiv: Update 'Slew-Rates' from MSCR registers
From: Quanyang Wang This patch references to: 88132e3d1cf34c09aa00287a1ce29428d07d200e from https://github.com/nxp-auto-linux/linux We take into account FAST/1V8GPIO/3V3GPIO pads. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- .../boot/dts/freescale/s32g274a-aptiv.dtsi| 100 +- .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 86 +++ 2 files changed, 93 insertions(+), 93 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi index fc4c16131f8dc..8b5544a2669e4 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi @@ -217,13 +217,13 @@ can0_pins: can0 { can0_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can0_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can0_grp2 { @@ -233,13 +233,13 @@ can0_grp2 { can0_stb_grp0 { pinmux = ; bias-pull-up; - slew-rate = ; + slew-rate = ; }; can0_en_grp0 { pinmux = ; bias-pull-up; - slew-rate = ; + slew-rate = ; }; }; @@ -247,13 +247,13 @@ can1_pins: can1 { can1_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can1_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can1_grp2 { @@ -266,13 +266,13 @@ can2_pins: can2 { can2_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can2_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can2_grp2 { @@ -285,13 +285,13 @@ can3_pins: can3 { can3_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can3_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can3_grp2 { @@ -304,26 +304,26 @@ dspi1_pins: dspi1 { dspi1_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; dspi1_grp1 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1_grp2 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1_grp3 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; @@ -337,13 +337,13 @@ dspi1slave_pins: dspi1slave { dspi1slave_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp2 { @@ -355,13 +355,13 @@ dspi1slave_grp2 { dspi1slave_grp3 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp4 { pinmux = ; input-enable; - slew-rate = ; +
[linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: update to compatible with SDK BSP39
From: Quanyang Wang There are some new configs enabled in SDK BSP39 release, so update kernel cache to be compatible with SDK. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 8 1 file changed, 8 insertions(+) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 5f266fede3..64e6238b73 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -28,6 +28,9 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_ARM_SCMI_CPUFREQ=y CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y # To keep align with SDK, unset the ARM_SCMI_POWER_DOMAIN config @@ -120,6 +123,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y CONFIG_QORIQ_THERMAL=y +CONFIG_CPU_THERMAL=y # ADC CONFIG_IIO=y @@ -156,6 +160,10 @@ CONFIG_S32CC_WDT=y CONFIG_BLK_DEV_NVME=y CONFIG_NVME_TARGET=y CONFIG_NVMEM_S32CC_SIUL2=y +CONFIG_NVMEM_S32CC_OCOTP=y +CONFIG_NVMEM_S32CC_GPR=y +# CONFIG_NVMEM_SCMI is not set + # Regulator configuration CONFIG_REGULATOR=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13482): https://lists.yoctoproject.org/g/linux-yocto/message/13482 Mute This Topic: https://lists.yoctoproject.org/mt/103754324/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
From: Quanyang Wang The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following calltrace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/soc/xilinx/xlnx_event_manager.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c index 9b6fe19666946..9156cb45bd533 100644 --- a/drivers/soc/xilinx/xlnx_event_manager.c +++ b/drivers/soc/xilinx/xlnx_event_manager.c @@ -22,7 +22,7 @@ #include #include -static DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number1); +static DEFINE_PER_CPU_READ_MOSTLY(int, dummy_cpu_number); static int virq_sgi; static int event_manager_availability = -EACCES; @@ -569,7 +569,6 @@ static void xlnx_disable_percpu_irq(void *data) static int xlnx_event_init_sgi(struct platform_device *pdev) { int ret = 0; - int cpu; /* * IRQ related structures are used for the following: * for each SGI interrupt ensure its mapped by GIC IRQ domain @@ -606,11 +605,8 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) sgi_fwspec.param[0] = sgi_num; virq_sgi = irq_create_fwspec_mapping(&sgi_fwspec); - cpu = get_cpu(); - per_cpu(cpu_number1, cpu) = cpu; ret = request_percpu_irq(virq_sgi, xlnx_event_handler, "xlnx_event_mgmt", -&cpu_number1); - put_cpu(); +&dummy_cpu_number); WARN_ON(ret); if (ret) { @@ -626,16 +622,12 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) static void xlnx_event_cleanup_sgi(struct platform_device *pdev) { - int cpu = smp_processor_id(); - - per_cpu(cpu_number1, cpu) = cpu; - cpuhp_remove_state(CPUHP_AP_ONLINE_DYN); on_each_cpu(xlnx_disable_percpu_irq, NULL, 1); irq_clear_status_flags(virq_sgi, IRQ_PER_CPU); - free_percpu_irq(virq_sgi, &cpu_number1); + free_percpu_irq(virq_sgi, &dummy_cpu_number); irq_dispose_mapping(virq_sgi); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13488): https://lists.yoctoproject.org/g/linux-yocto/message/13488 Mute This Topic: https://lists.yoctoproject.org/mt/103778951/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH] driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
From: Quanyang Wang The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following calltrace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang --- drivers/soc/xilinx/xlnx_event_manager.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c index cf152eb58d87a..1ab3486e64f95 100644 --- a/drivers/soc/xilinx/xlnx_event_manager.c +++ b/drivers/soc/xilinx/xlnx_event_manager.c @@ -20,7 +20,7 @@ #include #include -static DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number1); +static DEFINE_PER_CPU_READ_MOSTLY(int, dummy_cpu_number); static int virq_sgi; static int event_manager_availability = -EACCES; @@ -552,7 +552,6 @@ static void xlnx_disable_percpu_irq(void *data) static int xlnx_event_init_sgi(struct platform_device *pdev) { int ret = 0; - int cpu; /* * IRQ related structures are used for the following: * for each SGI interrupt ensure its mapped by GIC IRQ domain @@ -589,11 +588,8 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) sgi_fwspec.param[0] = sgi_num; virq_sgi = irq_create_fwspec_mapping(&sgi_fwspec); - cpu = get_cpu(); - per_cpu(cpu_number1, cpu) = cpu; ret = request_percpu_irq(virq_sgi, xlnx_event_handler, "xlnx_event_mgmt", -&cpu_number1); - put_cpu(); +&dummy_cpu_number); WARN_ON(ret); if (ret) { @@ -609,16 +605,12 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) static void xlnx_event_cleanup_sgi(struct platform_device *pdev) { - int cpu = smp_processor_id(); - - per_cpu(cpu_number1, cpu) = cpu; - cpuhp_remove_state(CPUHP_AP_ONLINE_DYN); on_each_cpu(xlnx_disable_percpu_irq, NULL, 1); irq_clear_status_flags(virq_sgi, IRQ_PER_CPU); - free_percpu_irq(virq_sgi, &cpu_number1); + free_percpu_irq(virq_sgi, &dummy_cpu_number); irq_dispose_mapping(virq_sgi); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13491): https://lists.yoctoproject.org/g/linux-yocto/message/13491 Mute This Topic: https://lists.yoctoproject.org/mt/103780752/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-versal: enable USB_CONFIGFS option for USB device mode
From: Quanyang Wang These kernel options are enabled to test USB device mode for VMK180/VCK190. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-versal/xilinx-versal.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg index 2b0473ae55..d329fc89fb 100644 --- a/bsp/xilinx-versal/xilinx-versal.cfg +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -74,6 +74,8 @@ CONFIG_USB_OTG_FSM=m CONFIG_USB_GADGET=y CONFIG_USB_GADGET_XILINX=y CONFIG_USB_ULPI_BUS=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_MMC=y CONFIG_MMC_BLOCK=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13492): https://lists.yoctoproject.org/g/linux-yocto/message/13492 Mute This Topic: https://lists.yoctoproject.org/mt/103801675/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
ping. On 1/17/24 10:53, quanyang.wang via lists.yoctoproject.org wrote: From: Quanyang Wang The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following calltrace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/soc/xilinx/xlnx_event_manager.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c index 9b6fe19666946..9156cb45bd533 100644 --- a/drivers/soc/xilinx/xlnx_event_manager.c +++ b/drivers/soc/xilinx/xlnx_event_manager.c @@ -22,7 +22,7 @@ #include #include -static DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number1); +static DEFINE_PER_CPU_READ_MOSTLY(int, dummy_cpu_number); static int virq_sgi; static int event_manager_availability = -EACCES; @@ -569,7 +569,6 @@ static void xlnx_disable_percpu_irq(void *data) static int xlnx_event_init_sgi(struct platform_device *pdev) { int ret = 0; - int cpu; /* * IRQ related structures are used for the following: * for each SGI interrupt ensure its mapped by GIC IRQ domain @@ -606,11 +605,8 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) sgi_fwspec.param[0] = sgi_num; virq_sgi = irq_create_fwspec_mapping(&sgi_fwspec); - cpu = get_cpu(); - per_cpu(cpu_number1, cpu) = cpu; ret = request_percpu_irq(virq_sgi, xlnx_event_handler, "xlnx_event_mgmt", -&cpu_number1); - put_cpu(); +&dummy_cpu_number); WARN_ON(ret); if (ret) { @@ -626,16 +622,12 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) static void xlnx_event_cleanup_sgi(struct platform_device *pdev) { - int cpu = smp_processor_id(); - - per_cpu(cpu_number1, cpu) = cpu; - cpuhp_remove_state(CPUHP_AP_ONLINE_DYN); on_each_cpu(xlnx_disable_percpu_irq, NULL, 1); irq_clear_status_flags(virq_sgi, IRQ_PER_CPU); - free_percpu_irq(virq_sgi, &cpu_number1); + free_percpu_irq(virq_sgi, &dummy_cpu_number); irq_dispose_mapping(virq_sgi); } -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13502): https://lists.yoctoproject.org/g/linux-yocto/message/13502 Mute This Topic: https://lists.yoctoproject.org/mt/103778951/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] gpio: fix pinctrl_gpio_get_mux_owner
From: Quanyang Wang The commit 4ce1995313ecb ("gpio: use pinctrl_gpio_get_mux_owner") intends to call pinctrl_gpio_get_mux_owner to mark the muxed pin as "used" and copy "mux_owner" or "gpio_owner" to "info->consumer". So that when calling gpioinfo at userspace, the "mux_owner" is printed as "label" in the output of console: root@nxp-s32g:~# gpioinfo gpiochip0 gpiochip0 - 191 lines: ... line 5: "PA_05" unused input active-high line 6: "PA_06" "401d8000.spi" input active-high [used] line 7: "PA_07" "401d8000.spi" input active-high [used] ... But there are 3 problems with the current implementation: 1. The parameter "gpio" of the function pinctrl_gpio_get_mux_owner should be "gc->base + info->offset" rather than "info->offset". 2. The member "strict" of s32cc_pmx_ops can be used to mark the flag GPIO_V2_LINE_FLAG_USED, so there is no need to use the funciton pinctrl_gpio_get_mux_owner to do that. 3. The function pinctrl_gpio_get_mux_owner takes mutex so it must be called before taking the spinlock, or else it triggers the following calltrace: [ 4640.017246] BUG: sleeping function called from invalid context at kernel/locking/rtmutex_api.c:510 [ 4640.017264] in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 11395, name: gpioinfo [ 4640.017271] preempt_count: 0, expected: 0 [ 4640.017276] RCU nest depth: 1, expected: 0 [ 4640.017281] INFO: lockdep is turned off. [ 4640.017290] CPU: 3 PID: 11395 Comm: gpioinfo Tainted: GW O 5.15.147-rt72-yocto-preempt-rt #1 [ 4640.017297] Hardware name: Freescale S32G399A (DT) [ 4640.017302] Call trace: [ 4640.017304] dump_backtrace+0x0/0x1c0 [ 4640.017319] show_stack+0x20/0x30 [ 4640.017325] dump_stack_lvl+0xb0/0xf4 [ 4640.017335] dump_stack+0x18/0x34 [ 4640.017342] __might_resched+0x15c/0x1e0 [ 4640.017351] __might_sleep+0x50/0xa0 [ 4640.017357] mutex_lock_nested+0x58/0xe0 [ 4640.017367] pinctrl_get_device_gpio_range+0x48/0x11c [ 4640.017378] pinctrl_gpio_get_mux_owner+0x48/0x110 [ 4640.017386] gpio_desc_to_lineinfo+0x2a8/0x2dc [ 4640.017396] lineinfo_get_v1+0x144/0x260 [ 4640.017405] gpio_ioctl_unlocked+0xf4/0x3d0 [ 4640.017410] gpio_ioctl+0x4c/0x74 [ 4640.017415] __arm64_sys_ioctl+0xb0/0xf4 [ 4640.017424] invoke_syscall+0x5c/0x130 [ 4640.017437] el0_svc_common.constprop.0+0x68/0x124 [ 4640.017445] do_el0_svc+0x4c/0xb0 [ 4640.017452] el0_svc+0x54/0x110 [ 4640.017458] el0t_64_sync_handler+0xa4/0x12c [ 4640.017464] el0t_64_sync+0x1a0/0x1a4 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- drivers/gpio/gpiolib-cdev.c| 10 +++--- drivers/pinctrl/freescale/pinctrl-s32cc-core.c | 1 + 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c index e3b0d1fbd728a..80e8c32d65e12 100644 --- a/drivers/gpio/gpiolib-cdev.c +++ b/drivers/gpio/gpiolib-cdev.c @@ -2021,7 +2021,6 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, unsigned long flags; u32 debounce_period_us; unsigned int num_attrs = 0; - int ret; memset(info, 0, sizeof(*info)); info->offset = gpio_chip_hwgpio(desc); @@ -2036,6 +2035,9 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, ok_for_pinctrl = pinctrl_gpio_can_use_line(gc->base + info->offset); + pinctrl_gpio_get_mux_owner(gc->base + info->offset, info->consumer, +sizeof(info->consumer)); + spin_lock_irqsave(&gpio_lock, flags); if (desc->name) @@ -2049,12 +2051,6 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, if (desc->label) strscpy(info->consumer, desc->label, sizeof(info->consumer)); - else { - ret = pinctrl_gpio_get_mux_owner(info->offset, info->consumer, -sizeof(info->consumer)); - if (!ret) - info->flags |= GPIO_V2_LINE_FLAG_USED; - } if (test_bit(FLAG_REQUESTED, &desc->flags) || test_bit(FLAG_IS_HOGGED, &desc->flags) || diff --git a/drivers/pinctrl/freescale/pinctrl-s32cc-core.c b/drivers/pinctrl/freescale/pinctrl-s32cc-core.c index e1d0cc817b65a..a711242dc626b 100644 --- a/drivers/pinctrl/freescale/pinctrl-s32cc-core.c +++ b/drivers/pinctrl/freescale/pinctrl-s32cc-core.c @@ -553,6 +553,7 @@ static const struct pinmux_ops s32cc_pmx_ops = { .gpio_request_enable = s32cc_pmx_gpio_request_enable, .gpio_disable_free = s32cc_pmx_gpio_disable_free, .gpio_set_direction = s32cc_pmx_gpio_set_direction, + .strict = true, }; static int s32cc_pinconf_get(struct pinctrl_dev *pctldev, -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You
[V2][linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
From: Quanyang Wang The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following calltrace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/soc/xilinx/xlnx_event_manager.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c index 9b6fe19666946..9156cb45bd533 100644 --- a/drivers/soc/xilinx/xlnx_event_manager.c +++ b/drivers/soc/xilinx/xlnx_event_manager.c @@ -22,7 +22,7 @@ #include #include -static DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number1); +static DEFINE_PER_CPU_READ_MOSTLY(int, dummy_cpu_number); static int virq_sgi; static int event_manager_availability = -EACCES; @@ -569,7 +569,6 @@ static void xlnx_disable_percpu_irq(void *data) static int xlnx_event_init_sgi(struct platform_device *pdev) { int ret = 0; - int cpu; /* * IRQ related structures are used for the following: * for each SGI interrupt ensure its mapped by GIC IRQ domain @@ -606,11 +605,8 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) sgi_fwspec.param[0] = sgi_num; virq_sgi = irq_create_fwspec_mapping(&sgi_fwspec); - cpu = get_cpu(); - per_cpu(cpu_number1, cpu) = cpu; ret = request_percpu_irq(virq_sgi, xlnx_event_handler, "xlnx_event_mgmt", -&cpu_number1); - put_cpu(); +&dummy_cpu_number); WARN_ON(ret); if (ret) { @@ -626,16 +622,12 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) static void xlnx_event_cleanup_sgi(struct platform_device *pdev) { - int cpu = smp_processor_id(); - - per_cpu(cpu_number1, cpu) = cpu; - cpuhp_remove_state(CPUHP_AP_ONLINE_DYN); on_each_cpu(xlnx_disable_percpu_irq, NULL, 1); irq_clear_status_flags(virq_sgi, IRQ_PER_CPU); - free_percpu_irq(virq_sgi, &cpu_number1); + free_percpu_irq(virq_sgi, &dummy_cpu_number); irq_dispose_mapping(virq_sgi); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13513): https://lists.yoctoproject.org/g/linux-yocto/message/13513 Mute This Topic: https://lists.yoctoproject.org/mt/103945669/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] gpio: fix pinctrl_gpio_get_mux_owner
Hi Bruce, On 1/24/24 14:38, quanyang.wang via lists.yoctoproject.org wrote: From: Quanyang Wang The commit 4ce1995313ecb ("gpio: use pinctrl_gpio_get_mux_owner") intends to call pinctrl_gpio_get_mux_owner to mark the muxed pin as "used" and copy "mux_owner" or "gpio_owner" to "info->consumer". So that when calling gpioinfo at userspace, the "mux_owner" is printed as "label" in the output of console: root@nxp-s32g:~# gpioinfo gpiochip0 gpiochip0 - 191 lines: ... line 5: "PA_05" unused input active-high line 6: "PA_06" "401d8000.spi" input active-high [used] line 7: "PA_07" "401d8000.spi" input active-high [used] ... But there are 3 problems with the current implementation: 1. The parameter "gpio" of the function pinctrl_gpio_get_mux_owner should be "gc->base + info->offset" rather than "info->offset". 2. The member "strict" of s32cc_pmx_ops can be used to mark the flag GPIO_V2_LINE_FLAG_USED, so there is no need to use the funciton pinctrl_gpio_get_mux_owner to do that. 3. The function pinctrl_gpio_get_mux_owner takes mutex so it must be called before taking the spinlock, or else it triggers the following calltrace: [ 4640.017246] BUG: sleeping function called from invalid context at kernel/locking/rtmutex_api.c:510 [ 4640.017264] in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 11395, name: gpioinfo [ 4640.017271] preempt_count: 0, expected: 0 [ 4640.017276] RCU nest depth: 1, expected: 0 [ 4640.017281] INFO: lockdep is turned off. [ 4640.017290] CPU: 3 PID: 11395 Comm: gpioinfo Tainted: GW O 5.15.147-rt72-yocto-preempt-rt #1 [ 4640.017297] Hardware name: Freescale S32G399A (DT) [ 4640.017302] Call trace: [ 4640.017304] dump_backtrace+0x0/0x1c0 [ 4640.017319] show_stack+0x20/0x30 [ 4640.017325] dump_stack_lvl+0xb0/0xf4 [ 4640.017335] dump_stack+0x18/0x34 [ 4640.017342] __might_resched+0x15c/0x1e0 [ 4640.017351] __might_sleep+0x50/0xa0 [ 4640.017357] mutex_lock_nested+0x58/0xe0 [ 4640.017367] pinctrl_get_device_gpio_range+0x48/0x11c [ 4640.017378] pinctrl_gpio_get_mux_owner+0x48/0x110 [ 4640.017386] gpio_desc_to_lineinfo+0x2a8/0x2dc [ 4640.017396] lineinfo_get_v1+0x144/0x260 [ 4640.017405] gpio_ioctl_unlocked+0xf4/0x3d0 [ 4640.017410] gpio_ioctl+0x4c/0x74 [ 4640.017415] __arm64_sys_ioctl+0xb0/0xf4 [ 4640.017424] invoke_syscall+0x5c/0x130 [ 4640.017437] el0_svc_common.constprop.0+0x68/0x124 [ 4640.017445] do_el0_svc+0x4c/0xb0 [ 4640.017452] el0_svc+0x54/0x110 [ 4640.017458] el0t_64_sync_handler+0xa4/0x12c [ 4640.017464] el0t_64_sync+0x1a0/0x1a4 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g I can't find this patch in v5.15/standard/nxp-sdk-5.15/nxp-s32g, would you please help check it? Thanks, Quanyang Thanks, Quanyang --- drivers/gpio/gpiolib-cdev.c| 10 +++--- drivers/pinctrl/freescale/pinctrl-s32cc-core.c | 1 + 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c index e3b0d1fbd728a..80e8c32d65e12 100644 --- a/drivers/gpio/gpiolib-cdev.c +++ b/drivers/gpio/gpiolib-cdev.c @@ -2021,7 +2021,6 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, unsigned long flags; u32 debounce_period_us; unsigned int num_attrs = 0; - int ret; memset(info, 0, sizeof(*info)); info->offset = gpio_chip_hwgpio(desc); @@ -2036,6 +2035,9 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, ok_for_pinctrl = pinctrl_gpio_can_use_line(gc->base + info->offset); + pinctrl_gpio_get_mux_owner(gc->base + info->offset, info->consumer, +sizeof(info->consumer)); + spin_lock_irqsave(&gpio_lock, flags); if (desc->name) @@ -2049,12 +2051,6 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, if (desc->label) strscpy(info->consumer, desc->label, sizeof(info->consumer)); - else { - ret = pinctrl_gpio_get_mux_owner(info->offset, info->consumer, -sizeof(info->consumer)); - if (!ret) - info->flags |= GPIO_V2_LINE_FLAG_USED; - } if (test_bit(FLAG_REQUESTED, &desc->flags) || test_bit(FLAG_IS_HOGGED, &desc->flags) || diff --git a/drivers/pinctrl/freescale/pinctrl-s32cc-core.c b/drivers/pinctrl/freescale/pinctrl-s32cc-core.c index e1d0cc817b65a..a711242dc626b 100644 --- a/drivers/pinctrl/freescale/pinctrl-s32cc-core
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] clk: clocking-wizard: use devm_kasprintf to fix kmemleak
From: Quanyang Wang Use devm_kasprintf instead of kasprintf to fix the following kmemleak: unreferenced object 0xff8803ed7280 (size 128): comm "kworker/u8:1", pid 11, jiffies 4294892718 (age 234.496s) hex dump (first 32 bytes): 38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a 8001.clk_wiz 5f 6f 75 74 30 00 00 00 00 00 00 00 00 00 00 00 _out0... backtrace: [] __kmem_cache_alloc_node+0x3fc/0x5f0 [ ] __kmalloc_node_track_caller+0x5c/0x228 [<68e52a86>] kvasprintf+0x8c/0x118 [ ] kasprintf+0x5c/0x88 [<934884a9>] clk_wzrd_probe+0x374/0x730 [<167096d4>] platform_probe+0x70/0xe0 [ ] really_probe+0xc4/0x2b0 [<5eafe737>] __driver_probe_device+0x80/0x120 [<26f774f1>] driver_probe_device+0x48/0xf0 [<9bed11ed>] __device_attach_driver+0xc0/0x100 [<12782b09>] bus_for_each_drv+0x80/0xd8 [<08a5cc26>] __device_attach+0x104/0x198 [ ] device_initial_probe+0x1c/0x28 [ ] bus_probe_device+0xa4/0xb0 [<191df268>] deferred_probe_work_func+0x90/0xc8 [ ] process_one_work+0x1f4/0x460 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 12 +--- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c index e68be24a26e9d..4391eced19793 100644 --- a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c +++ b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c @@ -645,7 +645,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) goto err_disable_clk; } - clkout_name = kasprintf(GFP_KERNEL, "%s_out0", dev_name(&pdev->dev)); + clkout_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_out0", dev_name(&pdev->dev)); if (nr_outputs == 1) { clk_wzrd->clkout[0] = clk_wzrd_register_divider (&pdev->dev, clkout_name, @@ -666,7 +666,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) reg = reg & WZRD_CLKFBOUT_MULT_MASK; reg = reg >> WZRD_CLKFBOUT_MULT_SHIFT; mult = (reg * 1000) + reg_f; - clk_name = kasprintf(GFP_KERNEL, "%s_mul", dev_name(&pdev->dev)); + clk_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_mul", dev_name(&pdev->dev)); if (!clk_name) { ret = -ENOMEM; goto err_disable_clk; @@ -675,14 +675,13 @@ static int clk_wzrd_probe(struct platform_device *pdev) (&pdev->dev, clk_name, __clk_get_name(clk_wzrd->clk_in1), 0, mult, 1000); - kfree(clk_name); if (IS_ERR(clk_wzrd->clks_internal[wzrd_clk_mul])) { dev_err(&pdev->dev, "unable to register fixed-factor clock\n"); ret = PTR_ERR(clk_wzrd->clks_internal[wzrd_clk_mul]); goto err_disable_clk; } - clk_name = kasprintf(GFP_KERNEL, "%s_mul_div", dev_name(&pdev->dev)); + clk_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_mul_div", dev_name(&pdev->dev)); if (!clk_name) { ret = -ENOMEM; goto err_rm_int_clk; @@ -703,7 +702,8 @@ static int clk_wzrd_probe(struct platform_device *pdev) /* register div per output */ for (i = nr_outputs - 1; i >= 0 ; i--) { - clkout_name = kasprintf(GFP_KERNEL, "%s_out%d", dev_name(&pdev->dev), i); + clkout_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_out%d", + dev_name(&pdev->dev), i); if (!clkout_name) { ret = -ENOMEM; goto err_rm_int_clk; @@ -739,7 +739,6 @@ static int clk_wzrd_probe(struct platform_device *pdev) } } - kfree(clk_name); out: clk_wzrd->clk_data.clks = clk_wzrd->clkout; clk_wzrd->clk_data.clk_num = ARRAY_SIZE(clk_wzrd->clkout); @@ -765,7 +764,6 @@ static int clk_wzrd_probe(struct platform_device *pdev) err_rm_int_clks: clk_unregister(clk_wzrd->clks_internal[1]); err_rm_int_clk: - kfree(clk_name); clk_unregister(clk_wzrd->clks_internal[0]); err_disable_clk: clk_disable_unprepare(clk_wzrd->axi_clk); -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13620): https://lists.yoctoproject.org/g/linux-yocto/message/13620 Mute This Topic: https://lists.yoctoproject.org/mt/104660586/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH] sound: xilinx: use hdmi-codec as dp audio codec
From: Quanyang Wang According to the description in the section "Audio Management" of Chapter 33 in "Zynq UltraScale+ Device Technical Reference Manual", A set/clr operation to TX_AUDIO_CONTROL register is needed when we start/stop audio play. It means that when we stop playing audio, TX_AUDIO_CONTROL register should be cleared. Now the dp codec driver xilinx-dp-codec.c can't access DP Tx registers and it has no control of DP Tx Audio registers. This results that even if we close the audio device after playing audio, Tx Audio is still working and it triggers numerous underflow interrupts (bit 17 in DP_INT_STATUS). zcu102-zynqmp:~$ cat /proc/interrupts | grep display 52:1063792000 GICv2 151 Level fd4a.display zcu102-zynqmp:~$ top Mem: 158168K used, 3864792K free, 9992K shrd, 0K buff, 36500K cached CPU: 0.0% usr 1.0% sys 0.0% nic 98.9% idle 0.0% io 0.0% irq 0.0% sirq Load average: 0.03 0.03 0.01 1/122 391 PID PPID USERSTAT VSZ %VSZ CPU %CPU COMMAND 223 2 rootSW 0 0.0 0 0.9 [irq/52-fd4a] 352 1 rootS94148 2.3 0 0.0 /usr/sbin/tcf-agent -d -L- -l0 So we register a HDMI codec device and use callbacks in hdmi_codec_ops to set/clr TX_AUDIO_CONTROL. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang --- drivers/gpu/drm/xlnx/zynqmp_dp.c | 55 +++ sound/soc/xilinx/Kconfig | 1 + sound/soc/xilinx/xilinx-dp-card.c | 14 ++-- 3 files changed, 59 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c index 308404f122957..c9badbfe5b566 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_dp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "zynqmp_disp.h" #include "zynqmp_dp.h" @@ -329,6 +330,7 @@ struct zynqmp_dp { void __iomem *iomem; struct reset_control *reset; int irq; + struct platform_device *audio_pdev; struct zynqmp_dp_config config; struct drm_dp_aux aux; @@ -375,6 +377,53 @@ static void zynqmp_dp_set(void __iomem *base, int offset, u32 set) zynqmp_dp_write(base, offset, zynqmp_dp_read(base, offset) | set); } +static int zynqmp_dp_audio_hw_params(struct device *dev, void *data, + struct hdmi_codec_daifmt *daifmt, + struct hdmi_codec_params *params) +{ + return 0; +} + +static int zynqmp_dp_audio_startup(struct device *dev, void *data) +{ + struct zynqmp_dp *dp = data; + + if (zynqmp_disp_aud_enabled(dp->dpsub->disp)) + zynqmp_dp_write(dp->iomem, ZYNQMP_DP_TX_AUDIO_CONTROL, 1); + + return 0; +} + +static void zynqmp_dp_audio_shutdown(struct device *dev, void *data) +{ + struct zynqmp_dp *dp = data; + + if (zynqmp_disp_aud_enabled(dp->dpsub->disp)) + zynqmp_dp_write(dp->iomem, ZYNQMP_DP_TX_AUDIO_CONTROL, 0); +} + +static const struct hdmi_codec_ops audio_codec_ops = { + .hw_params = zynqmp_dp_audio_hw_params, + .audio_shutdown = zynqmp_dp_audio_shutdown, + .audio_startup = zynqmp_dp_audio_startup, +}; + +static int zynqmp_dp_audio_init(struct zynqmp_dp *dp, + struct device *dev) +{ + struct hdmi_codec_pdata codec_data = { + .ops = &audio_codec_ops, + .spdif = 1, + .data = dp, + }; + + dp->audio_pdev = platform_device_register_data( +dev, HDMI_CODEC_DRV_NAME, PLATFORM_DEVID_NONE, +&codec_data, sizeof(codec_data)); + + return PTR_ERR_OR_ZERO(dp->audio_pdev); +} + /* - * PHY Handling */ @@ -1950,6 +1999,12 @@ int zynqmp_dp_probe(struct platform_device *pdev) goto error; } + ret = zynqmp_dp_audio_init(dp, dp->dev); + if (ret < 0) { + dev_err(dp->dev, "failed to initialize DP audio codec\n"); + goto error; + } + irq = platform_get_irq(pdev, 0); if (irq < 0) { ret = irq; diff --git a/sound/soc/xilinx/Kconfig b/sound/soc/xilinx/Kconfig index ade55b32a8cc6..787b92a406a23 100644 --- a/sound/soc/xilinx/Kconfig +++ b/sound/soc/xilinx/Kconfig @@ -3,6 +3,7 @@ config SND_SOC_XILINX_DP tristate "Audio support for the the Xilinx DisplayPort" select SND_DMAENGINE_PCM select SND_SOC_GENERIC_DMAENGINE_PCM + select SND_SOC_HDMI_CODEC help Audio support the for Xilinx DisplayPort. diff --git a/sound/soc/xilinx/xilinx-dp-card.c b/sound/soc/xilinx/xilinx-dp-card.c index 396a87d56394f..ec0682f2a7a6c 100644 --- a/sound/soc/xilinx/xilinx-dp-card.c +++ b/sound/soc/
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH 0/2]
From: Quanyang Wang Hi Bruce, Would you please help merge these 2 patches to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang Manikanta Guntupalli (1): gpio: zynq: fix zynqmp_gpio not an immutable chip warning Marc Zyngier (1): gpio: Don't fiddle with irqchips marked as immutable drivers/gpio/gpio-zynq.c | 12 +--- drivers/gpio/gpiolib.c | 7 ++- include/linux/irq.h | 2 ++ kernel/irq/debugfs.c | 1 + 4 files changed, 18 insertions(+), 4 deletions(-) -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13687): https://lists.yoctoproject.org/g/linux-yocto/message/13687 Mute This Topic: https://lists.yoctoproject.org/mt/104942021/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH 2/2] gpio: zynq: fix zynqmp_gpio not an immutable chip warning
From: Manikanta Guntupalli commit f5691439353783ef114876849c70d2a641e09498 upstream Make the struct irq_chip const and flag it as IRQCHIP_IMMUTABLE, call gpiochip_disable_irq() in the .irq_mask() callback and gpiochip_enable_irq() in the .irq_unmask() callback to fix "gpio gpiochip1: (zynqmp_gpio): not an immutable chip" warning. Signed-off-by: Manikanta Guntupalli Reviewed-by: Linus Walleij Signed-off-by: Bartosz Golaszewski [Quanyang: drop GPIOCHIP_IRQ_RESOURCE_HELPERS and gpio_irq_chip_set_chip.] Signed-off-by: Quanyang Wang --- drivers/gpio/gpio-zynq.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c index 06c6401f02b89..ca808c8d2d15a 100644 --- a/drivers/gpio/gpio-zynq.c +++ b/drivers/gpio/gpio-zynq.c @@ -404,9 +404,12 @@ static int zynq_gpio_get_direction(struct gpio_chip *chip, unsigned int pin) static void zynq_gpio_irq_mask(struct irq_data *irq_data) { unsigned int device_pin_num, bank_num, bank_pin_num; + const unsigned long offset = irqd_to_hwirq(irq_data); + struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); struct zynq_gpio *gpio = gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); + gpiochip_disable_irq(chip, offset); device_pin_num = irq_data->hwirq; zynq_gpio_get_bank_pin(device_pin_num, &bank_num, &bank_pin_num, gpio); writel_relaxed(BIT(bank_pin_num), @@ -425,9 +428,12 @@ static void zynq_gpio_irq_mask(struct irq_data *irq_data) static void zynq_gpio_irq_unmask(struct irq_data *irq_data) { unsigned int device_pin_num, bank_num, bank_pin_num; + const unsigned long offset = irqd_to_hwirq(irq_data); + struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); struct zynq_gpio *gpio = gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); + gpiochip_enable_irq(chip, offset); device_pin_num = irq_data->hwirq; zynq_gpio_get_bank_pin(device_pin_num, &bank_num, &bank_pin_num, gpio); writel_relaxed(BIT(bank_pin_num), @@ -601,7 +607,7 @@ static struct irq_chip zynq_gpio_level_irqchip = { .irq_request_resources = zynq_gpio_irq_reqres, .irq_release_resources = zynq_gpio_irq_relres, .flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED | - IRQCHIP_MASK_ON_SUSPEND, + IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, }; static struct irq_chip zynq_gpio_edge_irqchip = { @@ -614,7 +620,7 @@ static struct irq_chip zynq_gpio_edge_irqchip = { .irq_set_wake = zynq_gpio_set_wake, .irq_request_resources = zynq_gpio_irq_reqres, .irq_release_resources = zynq_gpio_irq_relres, - .flags = IRQCHIP_MASK_ON_SUSPEND, + .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, }; static void zynq_gpio_handle_bank_irq(struct zynq_gpio *gpio, @@ -962,7 +968,7 @@ static int zynq_gpio_probe(struct platform_device *pdev) /* Set up the GPIO irqchip */ girq = &chip->irq; - girq->chip = &zynq_gpio_edge_irqchip; + girq->chip = (struct irq_chip *)&zynq_gpio_edge_irqchip; girq->parent_handler = zynq_gpio_irqhandler; girq->num_parents = 1; girq->parents = devm_kcalloc(&pdev->dev, 1, -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13689): https://lists.yoctoproject.org/g/linux-yocto/message/13689 Mute This Topic: https://lists.yoctoproject.org/mt/104942023/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH 1/2] gpio: Don't fiddle with irqchips marked as immutable
From: Marc Zyngier commit 6c846d026d490b2383d395bc8e7b06336219667b upstream In order to move away from gpiolib messing with the internals of unsuspecting irqchips, add a flag by which irqchips advertise that they are not to be messed with, and do solemnly swear that they correctly call into the gpiolib helpers when required. Also nudge the users into converting their drivers to the new model. Reviewed-by: Andy Shevchenko Reviewed-by: Bartosz Golaszewski Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/20220419141846.598305-2-...@kernel.org --- drivers/gpio/gpiolib.c | 7 ++- include/linux/irq.h| 2 ++ kernel/irq/debugfs.c | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 34a061b4becdb..bf77c3f5a4e56 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1483,6 +1483,11 @@ static void gpiochip_set_irq_hooks(struct gpio_chip *gc) { struct irq_chip *irqchip = gc->irq.chip; + if (irqchip->flags & IRQCHIP_IMMUTABLE) + return; + + chip_warn(gc, "not an immutable chip, please consider fixing it!\n"); + if (!irqchip->irq_request_resources && !irqchip->irq_release_resources) { irqchip->irq_request_resources = gpiochip_irq_reqres; @@ -1650,7 +1655,7 @@ static void gpiochip_irqchip_remove(struct gpio_chip *gc) irq_domain_remove(gc->irq.domain); } - if (irqchip) { + if (irqchip && !(irqchip->flags & IRQCHIP_IMMUTABLE)) { if (irqchip->irq_request_resources == gpiochip_irq_reqres) { irqchip->irq_request_resources = NULL; irqchip->irq_release_resources = NULL; diff --git a/include/linux/irq.h b/include/linux/irq.h index 83d2fd4dc876b..f52ccfad9b88b 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -570,6 +570,7 @@ struct irq_chip { * IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND: Invokes __enable_irq()/__disable_irq() for wake irqs *in the suspend path if they are in disabled state * IRQCHIP_AFFINITY_PRE_STARTUP: Default affinity update before startup + * IRQCHIP_IMMUTABLE:Don't ever change anything in this chip */ enum { IRQCHIP_SET_TYPE_MASKED = (1 << 0), @@ -583,6 +584,7 @@ enum { IRQCHIP_SUPPORTS_NMI= (1 << 8), IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND= (1 << 9), IRQCHIP_AFFINITY_PRE_STARTUP= (1 << 10), + IRQCHIP_IMMUTABLE = (1 << 11), }; #include diff --git a/kernel/irq/debugfs.c b/kernel/irq/debugfs.c index e4cff358b437e..7ff52d94b42c0 100644 --- a/kernel/irq/debugfs.c +++ b/kernel/irq/debugfs.c @@ -58,6 +58,7 @@ static const struct irq_bit_descr irqchip_flags[] = { BIT_MASK_DESCR(IRQCHIP_SUPPORTS_LEVEL_MSI), BIT_MASK_DESCR(IRQCHIP_SUPPORTS_NMI), BIT_MASK_DESCR(IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND), + BIT_MASK_DESCR(IRQCHIP_IMMUTABLE), }; static void -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13688): https://lists.yoctoproject.org/g/linux-yocto/message/13688 Mute This Topic: https://lists.yoctoproject.org/mt/104942022/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] dts: Aptiv-FL: Update 'Slew-Rates' from MSCR registers
From: Quanyang Wang In SDK commit 3bf1e1fe0321 ("s32cc: Update 'Slew-Rates' from MSCR registers", "Slew-Rates" is updated. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 86 +-- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 537eda907e80d..9ca0424e49fdb 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -255,13 +255,13 @@ can0_pins: can0 { can0_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can0_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can0_grp2 { @@ -273,13 +273,13 @@ can1_pins: can1 { can1_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can1_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can1_grp2 { @@ -292,13 +292,13 @@ can2_pins: can2 { can2_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can2_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can2_grp2 { @@ -311,13 +311,13 @@ can3_pins: can3 { can3_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can3_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can3_grp2 { @@ -330,26 +330,26 @@ dspi1_pins: dspi1 { dspi1_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; dspi1_grp1 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1_grp2 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1_grp3 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; @@ -363,13 +363,13 @@ dspi1slave_pins: dspi1slave { dspi1slave_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp2 { @@ -381,13 +381,13 @@ dspi1slave_grp2 { dspi1slave_grp3 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp4 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; @@ -400,7 +400,7 @@ i2c0_grp0 { drive-open-drain; output-enable; input-enable; - slew-rate = ; + slew-rate = ; }; i2c0_grp1 { @@ -416,7 +416,7 @@ i2c0_gpio_grp0 { ; drive-open-drain; output-enable; - slew-rate = ; + slew-r
[linux-yocto][v6.6/standard/preempt-rt/sdkv6.6/xlnx-soc][PATCH 1/3] arch: arm64: dts: add dts file for CANFD feature on xilinx-zcu102 platform
From: Meng Li This dts file is created by referring to Xilix SDK petalinux. Signed-off-by: Meng Li Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/xilinx/Makefile | 1 + .../dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 82 +++ 2 files changed, 83 insertions(+) create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts diff --git a/arch/arm64/boot/dts/xilinx/Makefile b/arch/arm64/boot/dts/xilinx/Makefile index 1398b0e21e78c..25dfafe085ab2 100644 --- a/arch/arm64/boot/dts/xilinx/Makefile +++ b/arch/arm64/boot/dts/xilinx/Makefile @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu100-revC.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revA.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revB.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.0.dtb +dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.0-canfd.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.1.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revA.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revC.dtb diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts new file mode 100644 index 0..73ba3abd7aa89 --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * dts file for Xilinx ZynqMP ZCU102 Rev1.0 CANFD + * + * Copyright (C) 2016 - 2023 Wind River Systems, Inc. + * + * Meng Li + */ + +#include "zynqmp-zcu102-rev1.0.dts" + +/ { + amba_pl: amba_pl { + #address-cells = <2>; + #size-cells = <2>; + compatible = "simple-bus"; + ranges ; + axi_iic_0: i2c@80003000 { + #address-cells = <1>; + #size-cells = <0>; + clock-names = "s_axi_aclk"; + clocks = <&zynqmp_clk 71>; + compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; + reg = <0x0 0x80003000 0x0 0x1000>; + }; + axi_timer_0: timer@8000 { + clock-frequency = <187481262>; + clock-names = "s_axi_aclk"; + clocks = <&zynqmp_clk 71>; + compatible = "xlnx,axi-timer-2.0", "xlnx,xps-timer-1.00.a"; + interrupt-names = "interrupt"; + interrupt-parent = <&gic>; + interrupts = <0 91 4>; + reg = <0x0 0x8000 0x0 0x1000>; + xlnx,count-width = <0x20>; + xlnx,gen0-assert = <0x1>; + xlnx,gen1-assert = <0x1>; + xlnx,one-timer-only = <0x0>; + xlnx,trig0-assert = <0x1>; + xlnx,trig1-assert = <0x1>; + }; + canfd_0: canfd@8100 { + clock-names = "can_clk", "can_clk_x2", "s_axi_aclk"; + clocks = <&clk_wiz_0 1>, <&clk_wiz_0 0>, <&zynqmp_clk 71>; + compatible = "xlnx,canfd-2.0"; + interrupt-names = "ip2bus_intrevent"; + interrupt-parent = <&gic>; + interrupts = <0 89 4>; + reg = <0x0 0x8100 0x0 0x8000>; + rx-fifo-depth = <0x20>; + tx-mailbox-count = <0x20>; + }; + canfd_1: canfd@8200 { + clock-names = "can_clk", "can_clk_x2", "s_axi_aclk"; + clocks = <&clk_wiz_0 1>, <&clk_wiz_0 0>, <&zynqmp_clk 71>; + compatible = "xlnx,canfd-2.0"; + interrupt-names = "ip2bus_intrevent"; + interrupt-parent = <&gic>; + interrupts = <0 90 4>; + reg = <0x0 0x8200 0x0 0x8000>; + rx-fifo-depth = <0x20>; + tx-mailbox-count = <0x20>; + }; + clk_wiz_0: clk_wiz@8001 { + #clock-cells = <1>; + clock-names = "s_axi_aclk", "clk_in1"; + clock-output-names = "clk_out1", "clk_out2", "clk_out3", "clk_out4", "clk_out5", "clk_out6", "clk_out7"; + clocks = <&zynqmp_clk 71>, <&zynqmp_clk 71>; + compatible = "xlnx,clk-wiz-6.0", "xlnx,clocking-wizard"; + reg = <0x0 0x8001 0x0 0x1>; + speed-grade = <2>; + }; + psu_ctrl_ipi: PERIPHERAL@ff38 { + compatible = "xlnx,PERIPHERAL-1.0"; + reg = <0x0 0xff38 0x0 0x8>; + }; + psu_message_buffers: PERIPHERAL@ff99 { + compatible = "xlnx,PERIPHERAL-1.0"; +
[linux-yocto][v6.6/standard/preempt-rt/sdkv6.6/xlnx-soc][PATCH 0/3]
From: Quanyang Wang Hi Bruce, Would you please help merge these 3 patches to the branches: v6.6/standard/preempt-rt/sdkv6.6/xlnx-soc v6.6/standard/sdkv6.6/xlnx-soc Thanks, Quanyang Meng Li (1): arch: arm64: dts: add dts file for CANFD feature on xilinx-zcu102 platform Quanyang Wang (2): arm64: zynqmp: add "xlnx,nr-outputs" property for clk_wiz_0 node arm64: zynqmp: delete redundant xiic-i2c device node arch/arm64/boot/dts/xilinx/Makefile | 1 + .../dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 75 +++ 2 files changed, 76 insertions(+) create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14000): https://lists.yoctoproject.org/g/linux-yocto/message/14000 Mute This Topic: https://lists.yoctoproject.org/mt/106539419/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.6/standard/preempt-rt/sdkv6.6/xlnx-soc][PATCH 2/3] arm64: zynqmp: add "xlnx,nr-outputs" property for clk_wiz_0 node
From: Quanyang Wang In clk-xlnx-clock-wizard.c, the function clk_wzrd_probe will check if there is "xlnx,nr-outputs" property, if not, the probe will return error. Add "xlnx,nr-outputs" property for clk_wiz_0 node to avoid probe failure. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index 73ba3abd7aa89..d5b54d4a98d12 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -69,6 +69,7 @@ clk_wiz_0: clk_wiz@8001 { compatible = "xlnx,clk-wiz-6.0", "xlnx,clocking-wizard"; reg = <0x0 0x8001 0x0 0x1>; speed-grade = <2>; + xlnx,nr-outputs = <7>; }; psu_ctrl_ipi: PERIPHERAL@ff38 { compatible = "xlnx,PERIPHERAL-1.0"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14002): https://lists.yoctoproject.org/g/linux-yocto/message/14002 Mute This Topic: https://lists.yoctoproject.org/mt/106539422/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.6/standard/preempt-rt/sdkv6.6/xlnx-soc][PATCH 3/3] arm64: zynqmp: delete redundant xiic-i2c device node
From: Quanyang Wang The device node "axi_iic_0" is not needed to test canfd. Let's remove it since it triggers warning info: xiic-i2c 80003000.i2c: error -ENXIO: IRQ index 0 not found Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 8 1 file changed, 8 deletions(-) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index d5b54d4a98d12..c351cd18398aa 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -15,14 +15,6 @@ amba_pl: amba_pl { #size-cells = <2>; compatible = "simple-bus"; ranges ; - axi_iic_0: i2c@80003000 { - #address-cells = <1>; - #size-cells = <0>; - clock-names = "s_axi_aclk"; - clocks = <&zynqmp_clk 71>; - compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; - reg = <0x0 0x80003000 0x0 0x1000>; - }; axi_timer_0: timer@8000 { clock-frequency = <187481262>; clock-names = "s_axi_aclk"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14003): https://lists.yoctoproject.org/g/linux-yocto/message/14003 Mute This Topic: https://lists.yoctoproject.org/mt/106539423/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.6][PATCH] bsp: add new bsp amd-zynqmp
From: Quanyang Wang Add support for amd-zynqmp bsp with standard and preempt-rt kernel. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.6 Thanks, Quanyang --- bsp/amd-zynqmp/amd-zynqmp-preempt-rt.scc | 8 + bsp/amd-zynqmp/amd-zynqmp-standard.scc | 9 + bsp/amd-zynqmp/amd-zynqmp.cfg| 278 +++ bsp/amd-zynqmp/amd-zynqmp.scc| 11 + 4 files changed, 306 insertions(+) create mode 100644 bsp/amd-zynqmp/amd-zynqmp-preempt-rt.scc create mode 100644 bsp/amd-zynqmp/amd-zynqmp-standard.scc create mode 100644 bsp/amd-zynqmp/amd-zynqmp.cfg create mode 100644 bsp/amd-zynqmp/amd-zynqmp.scc diff --git a/bsp/amd-zynqmp/amd-zynqmp-preempt-rt.scc b/bsp/amd-zynqmp/amd-zynqmp-preempt-rt.scc new file mode 100644 index 00..69db8cefc6 --- /dev/null +++ b/bsp/amd-zynqmp/amd-zynqmp-preempt-rt.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE amd-zynqmp +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt/preempt-rt.scc + +include amd-zynqmp.scc diff --git a/bsp/amd-zynqmp/amd-zynqmp-standard.scc b/bsp/amd-zynqmp/amd-zynqmp-standard.scc new file mode 100644 index 00..e994876228 --- /dev/null +++ b/bsp/amd-zynqmp/amd-zynqmp-standard.scc @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: MIT +define KMACHINE amd-zynqmp +define KTYPE standard +define KARCH arm64 + +include ktypes/standard/standard.scc +branch amd-zynqmp + +include amd-zynqmp.scc diff --git a/bsp/amd-zynqmp/amd-zynqmp.cfg b/bsp/amd-zynqmp/amd-zynqmp.cfg new file mode 100644 index 00..0ac82831c1 --- /dev/null +++ b/bsp/amd-zynqmp/amd-zynqmp.cfg @@ -0,0 +1,278 @@ +# SPDX-License-Identifier: MIT +CONFIG_ARM64=y +CONFIG_ARCH_ZYNQMP=y +CONFIG_ARM64_4K_PAGES=y +CONFIG_SMP=y + +CONFIG_PCI=y +CONFIG_PCI_MSI=y +CONFIG_PCIE_XILINX_NWL=y +CONFIG_PCIEPORTBUS=y + +# 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_SPI_NOR=y +CONFIG_JFFS2_FS_WRITEBUFFER=n +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=n + +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_VENDOR_CADENCE=y +CONFIG_MACB=y +CONFIG_XILINX_EMACLITE=y +CONFIG_XILINX_AXI_EMAC=y + +CONFIG_PHYLIB=y +CONFIG_XILINX_PHY=y +CONFIG_DP83867_PHY=y + +CONFIG_PHY_XILINX_ZYNQMP=y +CONFIG_PHY_XILINX_HDMIPHY=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_PINCTRL=y + +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_XILINX=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_ZYNQ=y +CONFIG_GPIO_ZYNQMP_MODEPIN=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_ULPI=y +CONFIG_USB_DWC3_OF_SIMPLE=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_XILINX=y +CONFIG_USB_ULPI_BUS=y + +CONFIG_INPUT=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_EVDEV=y + +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ARASAN=y + +CONFIG_RAS=y +CONFIG_EDAC=y +CONFIG_EDAC_SYNOPSYS=y + +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_DRV_ZYNQMP=y + +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=256 + +CONFIG_XILINX_ZYNQMP_DMA=y +CONFIG_XILINX_DMA=y + +CONFIG_UIO=y +CONFIG_UIO_XILINX_APM=y +CONFIG_COMMON_CLK=y +CONFIG_COMMON_CLK_SI570=y +CONFIG_COMMON_CLK_SI5324=y +CONFIG_COMMON_CLK_SI5341=y +CONFIG_COMMON_CLK_ZYNQMP=y +CONFIG_COMMON_CLK_XLNX_CLKWZRD=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_OF_IOMMU=y +CONFIG_ARM_SMMU=y +CONFIG_ARM_SMMU_V3=y +# +CONFIG_RPMSG=m +CONFIG_REMOTEPROC=y +CONFIG_ZYNQMP_R5_REMOTEPROC=m + +CONFIG_STAGING=y +CONFIG_ZYNQMP_PM_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y + +CONFIG_IIO=y +CONFIG_SENSORS_IIO_HWMON=y +CONFIG_XILINX_XADC=y +CONFIG_XILINX_AMS=y +CONFIG_XILINX_FCLK=y + +CONFIG_FPGA=y +CONFIG_FPGA_MGR_ZYNQMP_FPGA=y +CONFIG_NVMEM_ZYNQMP=y +CONFIG_FPGA_REGION=y +CONFIG_FPGA_BRIDGE=y +CONFIG_OF_FPGA_REGION=y + +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_GPIO=y + +CONFIG_FB=y +CONFIG_FB_XILINX=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CONTROLLER=y +CO
[linux-yocto] [yocto-kernel-cache][yocto-6.6][PATCH] bsp: add new bsp amd-zynq
From: Quanyang Wang Add support for amd-zynqmp bsp with standard and preempt-rt kernel. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.6 Thanks, Quanyang --- bsp/amd-zynq/amd-zynq-preempt-rt.scc | 8 ++ bsp/amd-zynq/amd-zynq-standard.scc | 7 + bsp/amd-zynq/amd-zynq.cfg| 204 +++ bsp/amd-zynq/amd-zynq.scc| 8 ++ 4 files changed, 227 insertions(+) create mode 100644 bsp/amd-zynq/amd-zynq-preempt-rt.scc create mode 100644 bsp/amd-zynq/amd-zynq-standard.scc create mode 100644 bsp/amd-zynq/amd-zynq.cfg create mode 100644 bsp/amd-zynq/amd-zynq.scc diff --git a/bsp/amd-zynq/amd-zynq-preempt-rt.scc b/bsp/amd-zynq/amd-zynq-preempt-rt.scc new file mode 100644 index 00..14c991e7d3 --- /dev/null +++ b/bsp/amd-zynq/amd-zynq-preempt-rt.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE amd-zynq +define KTYPE preempt-rt +define KARCH arm + +include ktypes/preempt-rt/preempt-rt.scc + +include amd-zynq.scc diff --git a/bsp/amd-zynq/amd-zynq-standard.scc b/bsp/amd-zynq/amd-zynq-standard.scc new file mode 100644 index 00..58aed8f762 --- /dev/null +++ b/bsp/amd-zynq/amd-zynq-standard.scc @@ -0,0 +1,7 @@ +define KMACHINE amd-zynq +define KTYPE standard +define KARCH arm + +include ktypes/standard + +include amd-zynq.scc diff --git a/bsp/amd-zynq/amd-zynq.cfg b/bsp/amd-zynq/amd-zynq.cfg new file mode 100644 index 00..f8ec866d02 --- /dev/null +++ b/bsp/amd-zynq/amd-zynq.cfg @@ -0,0 +1,204 @@ +CONFIG_ARCH_ZYNQ=y +CONFIG_SMP=y +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +CONFIG_VMSPLIT_2G=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=n + +# ERRATA +CONFIG_PL310_ERRATA_588369=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_PL310_ERRATA_727915=y +CONFIG_PL310_ERRATA_753970=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_PL310_ERRATA_769419=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y + +CONFIG_VFP=y +CONFIG_NEON=y + +# DMA +CONFIG_AXI_DMAC=y +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_PL330_DMA=y +CONFIG_XILINX_DMA=y + +# Power Management +CONFIG_PMBUS=y +CONFIG_SENSORS_UCD9000=y + +# Watchdog +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_NOWAYOUT=y +CONFIG_CADENCE_WATCHDOG=y + +# GPIO +CONFIG_GPIOLIB=y +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_XILINX=y +CONFIG_GPIO_ZYNQ=y +CONFIG_GPIO_PCA953X=y + +CONFIG_KEYBOARD_GPIO=y +CONFIG_LEDS_GPIO=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# UART +CONFIG_SERIAL_XILINX_PS_UART=y +CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y + +# PTP clock support +CONFIG_PTP_1588_CLOCK=y + +# AXI Ethernet +CONFIG_NET_VENDOR_XILINX=y +CONFIG_XILINX_AXI_EMAC=y +CONFIG_XILINX_AXI_EMAC_HWTSTAMP=y + +# Cadence Ethernet +CONFIG_MACB=y +CONFIG_MACB_USE_HWSTAMP=y + +# PHY +CONFIG_MARVELL_PHY=y +CONFIG_VITESSE_PHY=y + +# I2C +CONFIG_I2C=y +CONFIG_I2C_MUX=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_I2C_CADENCE=y +CONFIG_I2C_XILINX=y + +# RTC +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PCF8563=y +CONFIG_RTC_DRV_DS1307=y + +CONFIG_COMMON_CLK_AXI_CLKGEN=y + +# SPI +CONFIG_SPI_CADENCE=y +CONFIG_SPI_ZYNQ_QSPI=y + +# MTD +CONFIG_MTD=y +CONFIG_MTD_OF_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_CFI=y +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y + +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y + +# MMC +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ARASAN=y + +# USB +CONFIG_USB_OTG=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y + +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_XILINX=y + +CONFIG_USB_PHY=y +CONFIG_USB_ULPI=y +CONFIG_NOP_USB_XCEIV=y + +# PCIe +CONFIG_PCI=y +CONFIG_PCI_MSI=y +CONFIG_PCIE_XILINX=y + +# Graphic +CONFIG_FB=y +CONFIG_FRAMEBUFFER_CONSOLE=y + +CONFIG_DRM=y +CONFIG_DRM_KMS_HELPER=y +CONFIG_FB_XILINX=y + +CONFIG_DRM_I2C_ADV7511=y +CONFIG_DRM_I2C_ADV7511_AUDIO=y +CONFIG_DRM_I2C_ADV7511_CEC=y + +# FPGA +CONFIG_FPGA=y +CONFIG_FPGA_MGR_ZYNQ_FPGA=y +CONFIG_FPGA_BRIDGE=y +CONFIG_FPGA_REGION=y +CONFIG_OF_FPGA_REGION=y + +# Misc +CONFIG_INPUT=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_UIO=y +CONFIG_UIO_PDRV_GENIRQ=y +CONFIG_UIO_XILINX_APM=y + +CONFIG_COMMON_CLK_SI570=y + +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y + +CONFIG_CPU_IDLE=y +CONFIG_ARM_ZYNQ_CPUIDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y + +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +CONFIG_EEPROM_AT24=y + +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y +CONFIG_MEDIA_USB_SUPPORT=y + +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_ADI=y +CONFIG_SND_SOC_ADI_AXI_I2S=y +CONFIG_SND_SOC_ADI_AXI_SPDIF=y +CONFIG_SND_SIMPLE_CARD=y + +CONFIG_IIO=y +CONFI
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] gpio: s32: set direction of eirq pin as input
From: Quanyang Wang When an gpio pin is requested as "eirq" in dts file as following: pmic { ... interrupt-parent = <&gpio>; interrupts = <35 IRQ_TYPE_EDGE_FALLING>; ... }; the direction of this pin should be set as "input" by calling siul2_gpio_dir_in. Unfortunately, the function siul2_gpio_dir_in is using mutex_lock/unlock(), so it can't be called in irq_unmask or irq_set_type. The irq_chip::irq_request_resources callback isn't running under the atomic context, it's safe to call siul2_gpio_dir_in. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- drivers/gpio/gpio-siul2-s32cc.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-siul2-s32cc.c b/drivers/gpio/gpio-siul2-s32cc.c index aed63d3a0fdbf..041c182374297 100644 --- a/drivers/gpio/gpio-siul2-s32cc.c +++ b/drivers/gpio/gpio-siul2-s32cc.c @@ -401,6 +401,22 @@ static int siul2_gpio_irq_set_type(struct irq_data *d, unsigned int type) return ret; } +static int suil2_gpio_irq_reqres(struct irq_data *d) +{ + struct gpio_chip *gc = irq_data_get_irq_chip_data(d); + irq_hw_number_t gpio = irqd_to_hwirq(d); + int ret; + + ret = siul2_gpio_dir_in(gc, gpio); + if (ret) { + dev_err(gc->parent, "Failed to configure GPIO %lu as input\n", + gpio); + return ret; + } + + return gpiochip_reqres_irq(gc, d->hwirq); +} + static irqreturn_t siul2_gpio_irq_handler(int irq, void *data) { struct siul2_gpio_dev *gpio_dev = data; @@ -1116,8 +1132,9 @@ static const struct irq_chip siul2_irqchip = { .irq_mask = siul2_gpio_irq_mask, .irq_unmask = siul2_gpio_irq_unmask, .irq_set_type = siul2_gpio_irq_set_type, + .irq_request_resources = suil2_gpio_irq_reqres, + .irq_release_resources = gpiochip_irq_relres, .flags = IRQCHIP_IMMUTABLE, - GPIOCHIP_IRQ_RESOURCE_HELPERS, }; static int siul2_gpio_probe(struct platform_device *pdev) -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14022): https://lists.yoctoproject.org/g/linux-yocto/message/14022 Mute This Topic: https://lists.yoctoproject.org/mt/106609417/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH] fpga: region: Drop unneeded part due to merge issue
From: Quanyang Wang This part is removed in upstream commit 8886a579744fb ("fpga: region: Use standard dev_release for class driver), but introduced when merging. So we should drop it. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang --- drivers/fpga/of-fpga-region.c | 4 1 file changed, 4 deletions(-) diff --git a/drivers/fpga/of-fpga-region.c b/drivers/fpga/of-fpga-region.c index f3c66e8fe6014..e997a58e0e21b 100644 --- a/drivers/fpga/of-fpga-region.c +++ b/drivers/fpga/of-fpga-region.c @@ -433,10 +433,6 @@ static int of_fpga_region_probe(struct platform_device *pdev) if (ret < 0) goto err_pm; - ret = fpga_region_register(region); - if (ret) - goto err_pm; - of_platform_populate(np, fpga_region_of_match, NULL, ®ion->dev); platform_set_drvdata(pdev, region); -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14054): https://lists.yoctoproject.org/g/linux-yocto/message/14054 Mute This Topic: https://lists.yoctoproject.org/mt/106736047/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] Revert "drivers: clk: zynqmp: update divider round rate logic"
From: Quanyang Wang This patch reverts the commit c249ef9d0978a ("drivers: clk: zynqmp: update divider round rate logic"). This is because that there has been a similar commit efe0d3640f6ff ("drivers: clk: zynqmp: update divider round rate logic") which is picked from SDK. This commit introduces some problem and the SDK patch 7e6654b576a00 ("drivers: clk: zynqmp: add hack to use old algorithm for divider round rate") is to fix it. But when merging, the content of the commit 7e6654b576a00 is missing. So we need to revert the commit c249ef9d0978a and bring the content of the commit 7e6654b576a00 back. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/clk/zynqmp/divider.c | 88 ++-- 1 file changed, 83 insertions(+), 5 deletions(-) diff --git a/drivers/clk/zynqmp/divider.c b/drivers/clk/zynqmp/divider.c index a491f19ef7f8b..0ed124ba0ea6b 100644 --- a/drivers/clk/zynqmp/divider.c +++ b/drivers/clk/zynqmp/divider.c @@ -111,6 +111,51 @@ static unsigned long zynqmp_clk_divider_recalc_rate(struct clk_hw *hw, return DIV_ROUND_UP_ULL(parent_rate, value); } +static void zynqmp_get_divider2_val(struct clk_hw *hw, unsigned long rate, + struct zynqmp_clk_divider *divider, + u32 *bestdiv) +{ + int div1; + int div2; + long error = LONG_MAX; + unsigned long div1_prate; + struct clk_hw *div1_parent_hw; + struct zynqmp_clk_divider *pdivider; + struct clk_hw *div2_parent_hw = clk_hw_get_parent(hw); + + if (!div2_parent_hw) + return; + + pdivider = to_zynqmp_clk_divider(div2_parent_hw); + if (!pdivider) + return; + + div1_parent_hw = clk_hw_get_parent(div2_parent_hw); + if (!div1_parent_hw) + return; + + div1_prate = clk_hw_get_rate(div1_parent_hw); + *bestdiv = 1; + for (div1 = 1; div1 <= pdivider->max_div;) { + for (div2 = 1; div2 <= divider->max_div;) { + long new_error = ((div1_prate / div1) / div2) - rate; + + if (abs(new_error) < abs(error)) { + *bestdiv = div2; + error = new_error; + } + if (divider->flags & CLK_DIVIDER_POWER_OF_TWO) + div2 = div2 << 1; + else + div2++; + } + if (pdivider->flags & CLK_DIVIDER_POWER_OF_TWO) + div1 = div1 << 1; + else + div1++; + } +} + /** * zynqmp_clk_divider_round_rate() - Round rate of divider clock * @hw:handle between common and hardware-specific interfaces @@ -129,7 +174,8 @@ static long zynqmp_clk_divider_round_rate(struct clk_hw *hw, u32 div_type = divider->div_type; u32 bestdiv; int ret; - u8 width = 0; + u8 width; + struct device_node *np; /* if read only, just return current value */ if (divider->flags & CLK_DIVIDER_READ_ONLY) { @@ -149,12 +195,44 @@ static long zynqmp_clk_divider_round_rate(struct clk_hw *hw, return DIV_ROUND_UP_ULL((u64)*prate, bestdiv); } - width = fls(divider->max_div); + /* +* Hack to use old algorithm for round rate div clocks. Currently PL +* rate is getting changed because RPLL_TO_FPD clock is changing RPLL +* rate for DP audio driver. Using old algorithm RPLL rate change is +* less and its not affecting PL clocks more so as a temporary solution +* use old algorithm for Versal and ZynqMP platforms. +* +* TBD: Remove this hack and use new algorithm for all platform once PL +* clock issue is fixed with better way. +*/ + np = of_find_compatible_node(NULL, NULL, "xlnx,versal-net"); + if (np) { + width = fls(divider->max_div); - rate = divider_round_rate(hw, rate, prate, NULL, width, divider->flags); + rate = divider_round_rate(hw, rate, prate, NULL, width, divider->flags); - if (divider->is_frac && (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) && (rate % *prate)) - *prate = rate; + if (divider->is_frac && (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) && + (rate % *prate)) + *prate = rate; + } else { + bestdiv = zynqmp_divider_get_val(*prate, rate, divider->flags); + + /* +* In case of two divisors, compute best divider values and return +* divider2 value based on compute value. div1 will be automatically +* set to
[linux-yocto] [yocto-kernel-cache][yocto-6.6][PATCH] bsp: amd-zynqmp: replace CONFIG_SENSORS_INA2XX with CONFIG_INA2XX_ADC
From: Quanyang Wang The mainline commit 86444d3ecfd5a ("arm64: zynqmp: Enable iio-hwmon for ina226 on zcu102") says "ina226 hwmon driver is deprecated and it is recommended to use new iio based driver". So the iio device nodes are added to the dts file for zcu102 board: ina226-u76 { compatible = "iio-hwmon"; io-channels = <&u76 0>, <&u76 1>, <&u76 2>, <&u76 3>; }; To enable these device nodes, the kernel option CONFIG_INA2XX_ADC should be enabled and CONFIG_SENSORS_INA2XX should be disabled because these two kernel options are mutually exclusive. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.6 Thanks, Quanyang --- bsp/amd-zynqmp/amd-zynqmp.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/amd-zynqmp/amd-zynqmp.cfg b/bsp/amd-zynqmp/amd-zynqmp.cfg index 0ac82831c1..4c0a5cdae4 100644 --- a/bsp/amd-zynqmp/amd-zynqmp.cfg +++ b/bsp/amd-zynqmp/amd-zynqmp.cfg @@ -79,7 +79,6 @@ CONFIG_GPIO_ZYNQ=y CONFIG_GPIO_ZYNQMP_MODEPIN=y CONFIG_POWER_RESET=y -CONFIG_SENSORS_INA2XX=y CONFIG_WATCHDOG=y CONFIG_CADENCE_WATCHDOG=y CONFIG_XILINX_WATCHDOG=y @@ -153,6 +152,7 @@ CONFIG_ARM_GIC_V3_ITS=y CONFIG_IIO=y CONFIG_SENSORS_IIO_HWMON=y +CONFIG_INA2XX_ADC=y CONFIG_XILINX_XADC=y CONFIG_XILINX_AMS=y CONFIG_XILINX_FCLK=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14192): https://lists.yoctoproject.org/g/linux-yocto/message/14192 Mute This Topic: https://lists.yoctoproject.org/mt/107535177/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] dmaengine: xilinx: drop redundant spin_lock due to merge issue
From: Quanyang Wang When merging the upstream commit 8bf574183282d ("dma: xilinx_dpdma: Fix locking"), a spin_lock function should be dropped, or else there will be continous spin_lock calling and this will result in lockup. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/dma/xilinx/xilinx_dpdma.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/dma/xilinx/xilinx_dpdma.c b/drivers/dma/xilinx/xilinx_dpdma.c index ca9374ebaf3f1..db4a5c2dd2263 100644 --- a/drivers/dma/xilinx/xilinx_dpdma.c +++ b/drivers/dma/xilinx/xilinx_dpdma.c @@ -1182,7 +1182,6 @@ static void xilinx_dpdma_chan_vsync_irq(struct xilinx_dpdma_chan *chan) chan->desc.active = pending; chan->desc.pending = NULL; - spin_lock(&chan->vchan.lock); xilinx_dpdma_chan_queue_transfer(chan); spin_unlock(&chan->vchan.lock); -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14207): https://lists.yoctoproject.org/g/linux-yocto/message/14207 Mute This Topic: https://lists.yoctoproject.org/mt/107604550/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-