diff --git a/README.md b/README.md index 49dab54424059e9cea46bab3d0904dd5b3e44b35..a57aee4dfab133c5d7f9df866526755059651b90 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,12 @@ ## 项目简介 -该项目介绍,如何在飞腾信息科技有限公司SOC硬件平台上运行 OpenHarmony 标准系统[OpenHamony 5.0.0 release](https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v5.0.0-release.md)。其中腾锐D系列芯片没有图形模块,需要搭配显卡使用,目前仓库中支持的显卡包含飞腾X100套片、AMD显卡、JM9100显卡,以及cpu模拟mesa3d方案。 +该项目介绍,如何在飞腾信息科技有限公司SOC硬件平台上运行 OpenHarmony 标准系统[OpenHamony 5.1.0 release](https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v5.1.0-release.md)。其中腾锐D系列芯片没有图形模块,需要搭配显卡使用,目前仓库中支持的显卡包含飞腾X100套片、AMD显卡、JM9100显卡,以及cpu模拟mesa3d方案。 - 支持GPU图形硬件加速,以及X100提供的视频解码硬件加速。 - 支持Linux kernel 5.10, Linux kernel 6.6。 - 支持cpu模拟的mesa3d方案,经优化后,在E系列的芯片上也有流畅体验。 - 支持根据GPU硬件自动加载正确的GL驱动。 -- 支持根据音频硬件,自动配置ALSA mixer参数。 +- 支持根据音频硬件,自动配置ALSA mixer参数。 具体支持状态详见:[开发板简介](./device_board_phytium/README.md) ## 飞腾公司简介 @@ -70,7 +70,7 @@ export PROJ_ROOT=$WORK_SPACE/OpenHarmony mkdir $WORK_SPACE mkdir $PROJ_ROOT cd $PROJ_ROOT -repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v5.0.0-Release --no-repo-verify +repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v5.1.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull' ``` @@ -155,8 +155,9 @@ THE DEVICE: tengrui_d(0) |----|----| | --product-name |产品名称,飞腾产品对应tengrui_d,tenglong_e和phytiumpi-firefly| | --target-cpu |产品芯片架构,飞腾产品对应为arm64| -| --gn-args linux_kernel_version|gn扩展参数,配置Linux版本,OpenHarmony 5.0.0 Release默认的Linux内核版本是5.10,以后的版本支持指定Linux kernel 6.6, --gn-args linux_kernel_version="linux-6.6"| +| --gn-args linux_kernel_version|gn扩展参数,用于配置Linux版本,OpenHarmony 5.0.0 Release以后的版本同时支持Linux kernel 6.6和Linux kernel 5.10,5.0.0 Release默认的Linux内核版本是5.10,5.1.0 Release默认的Linux内核版本是6.6。例如,--gn-args linux_kernel_version="linux-6.6"指定编译Linux kernel 6.6| | --ccache |通过ccache加快编译速度| +| --gn-args enable_notice_collection=false |取消收集开源notice的过程,建议加上| 更多的编译参数说明,可以通过./build.sh --help获取。 以下是以tengrui_d为例的编译参数。 @@ -164,7 +165,10 @@ THE DEVICE: tengrui_d(0) cd $PROJ_ROOT #### 如果linux内核版本是6.6 -./build.sh --product-name tengrui_d --ccache --target-cpu arm64 --gn-args linux_kernel_version="linux-6.6" +./build.sh --product-name tengrui_d --ccache --target-cpu arm64 --gn-args linux_kernel_version="linux-6.6" --gn-args enable_notice_collection=false + +#### 如果linux内核版本是5.10 +./build.sh --product-name tengrui_d --ccache --target-cpu arm64 --gn-args linux_kernel_version="linux-5.10" --gn-args enable_notice_collection=false ``` 编译成功提示: diff --git a/device_board_phytium/README.md b/device_board_phytium/README.md index 0842b08e5c32e7493ce18fa42c06f6c34363b73b..ae67c784c34a658f71770d8f79e1f36fd1462d85 100644 --- a/device_board_phytium/README.md +++ b/device_board_phytium/README.md @@ -19,7 +19,7 @@ |GPIO|YES| #### 1.2 GPU Model支持状况 -仓库中支持的显卡包含飞腾X100套片、AMD显卡、JM9100显卡、cpu模拟mesa3d。在编译时需要根据不同硬件添加对应的参数 --gn-args gpu_model=xxx。 +仓库中支持的显卡包含飞腾X100套片、AMD显卡、JM9100显卡、cpu模拟mesa3d。 gpu_model支持列表: @@ -30,9 +30,9 @@ - @@ -67,9 +67,9 @@ - - - + + +
不同版本支持情况
OH 4.1
Kernel 5.10 -
OH 5.0.0
Kernel 5.10 -
OH 5.0.0
Kernel 6.6 +
OH 4.1 + OH 5.0.0 + OH 5.1.0
sw支持3D硬件加速
RX6400Linux Kernel不支持Linux Kernel不支持RX6400
<只支持Linux Kernel 6.6>
不支持支持3D硬件加速 支持3D硬件加速
@@ -77,6 +77,7 @@ - amd型号众多,理论上驱动支持原子操作的型号均能支持,测试样本有限,已测试支持显卡包含RX550、RX640、RX570、RX4600。 - D系列芯片本身没有图形模块,使用sw时,要插入DRM驱动支持的显卡,主要使用场景为qmue、虚拟化以及其他测试场景。 - E系列芯片有图形模块,使用sw时,不需要外插显卡,图形复杂度较低的场景下可以独立使用。对图形要求较高的场景,建议外插显卡。 +- JM显卡由于音频驱动加载顺序的问题,需要将vendor/phytium//hals/audio/alsa_adapter.json中"cardId"改为1。也可在平台上直接修改,路径为:/vendor/etc/hdfconfig/alsa_adapter.json ## 2. 目录结构 @@ -111,5 +112,5 @@ ## 3. 相关仓 -* [vendor/phytium](..vendor_phytium) +* [vendor/phytium](../vendor_phytium) * [device/soc/phytium](../device_soc_phytium) diff --git a/device_board_phytium/common/build_kernel/build_kernel.sh b/device_board_phytium/common/build_kernel/build_kernel.sh index da38472631f4a78a4ef89fa3bcaa8fa19b85d453..37debb4bf01b739d2f716c5b1759877750825dbf 100755 --- a/device_board_phytium/common/build_kernel/build_kernel.sh +++ b/device_board_phytium/common/build_kernel/build_kernel.sh @@ -56,7 +56,9 @@ if [ -f "${KERNEL_PATCH}" -a -f "${KERNEL_CONFIG}" ]; then fi cp ${KERNEL_OUTPUT_PATH}/Image ${BOOT_IMAGE_PATH} - cp ${KERNEL_OUTPUT_PATH}/dts/phytium/*.dtb ${BOOT_IMAGE_PATH} + if [ $(find ${KERNEL_OUTPUT_PATH}/dts/phytium/ -name "*.dtb" | wc -l) -gt 0 ]; then + cp ${KERNEL_OUTPUT_PATH}/dts/phytium/*.dtb ${BOOT_IMAGE_PATH} + fi mkdir -p ${BOOT_IMAGE_PATH}/EFI cp ${DEVICE_BOARD_PATH}/${DEVICE_NAME}/loader/EFI/* ${BOOT_IMAGE_PATH}/EFI -rf diff --git a/device_board_phytium/common/build_kernel/copy_and_patch_kernel_source.sh b/device_board_phytium/common/build_kernel/copy_and_patch_kernel_source.sh new file mode 100755 index 0000000000000000000000000000000000000000..2ec437e4f233cc01360b347ffe94c3d223fa8db0 --- /dev/null +++ b/device_board_phytium/common/build_kernel/copy_and_patch_kernel_source.sh @@ -0,0 +1,59 @@ +ROOT_DIR=${1} +KERNEL_SRC_TMP_PATH=${2} +DEVICE_NAME=${3} +KERNEL_VERSION=${4} + +NEWIP_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/newip/apply_newip.sh +TZDRIVER_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/tzdriver/apply_tzdriver.sh +XPM_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/xpm/apply_xpm.sh +CED_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/container_escape_detection/apply_ced.sh +HIDEADDR_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/memory_security/apply_hideaddr.sh +QOS_AUTH_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/qos_auth/apply_qos_auth.sh +UNIFIED_COLLECTION_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/ucollection/apply_ucollection.sh +CODE_SIGN_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/code_sign/apply_code_sign.sh +DEC_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/dec/apply_dec.sh + +#newip +if [ -f $NEWIP_PATCH_FILE ]; then + bash $NEWIP_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi + +#tzdriver +if [ -f $TZDRIVER_PATCH_FILE ]; then + bash $TZDRIVER_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi + +#xpm +if [ -f $XPM_PATCH_FILE ]; then + bash $XPM_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi + +#ced +if [ -f $CED_PATCH_FILE ]; then + bash $CED_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi + +#qos_auth +if [ -f $QOS_AUTH_PATCH_FILE ]; then + bash $QOS_AUTH_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi + +#hideaddr +if [ -f $HIDEADDR_PATCH_FILE ]; then + bash $HIDEADDR_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi + +#ucollection +if [ -f $UNIFIED_COLLECTION_PATCH_FILE ]; then + bash $UNIFIED_COLLECTION_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi + +#code_sign +if [ -f $CODE_SIGN_PATCH_FILE ]; then + bash $CODE_SIGN_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi + +#dec +if [ -f $DEC_PATCH_FILE ]; then + bash $DEC_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} +fi diff --git a/device_board_phytium/common/build_kernel/kernel.mk b/device_board_phytium/common/build_kernel/kernel.mk index 2f098c356c97b2758df2f51cda359234502dcf1f..f9b6f514e3fbe0ff912eec7530c45db4888bad06 100755 --- a/device_board_phytium/common/build_kernel/kernel.mk +++ b/device_board_phytium/common/build_kernel/kernel.mk @@ -60,6 +60,10 @@ $(KERNEL_IMAGE_FILE): echo "build kernel... " $(hide) rm -rf $(KERNEL_SRC_TMP_PATH);mkdir -p $(KERNEL_SRC_TMP_PATH);cp -arfL $(KERNEL_SRC_PATH)/* $(KERNEL_SRC_TMP_PATH) +ifeq ($(KERNEL_VERSION), linux-6.6) + $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/copy_and_patch_kernel_source.sh $(OHOS_BUILD_HOME) $(KERNEL_SRC_TMP_PATH) $(DEVICE_NAME) ${KERNEL_VERSION} +endif + $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/build_gpu.sh $(OHOS_BUILD_HOME)/vendor/phytium/gpu_model $(HCK_PATH) ${KERNEL_VERSION} $(DEVICE_NAME) $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/patch_phytium.sh $(PHYTIUM_PATCH_PATH) $(KERNEL_SRC_TMP_PATH) diff --git a/device_board_phytium/common/distributedhardware/distributed_hardware_components_cfg.json b/device_board_phytium/common/distributedhardware/distributed_hardware_components_cfg.json index d46c0f7007c1ebff927d52bdb1f26e652c4fa056..b6861133f686283d92bf3da938cbb633d7ea5161 100755 --- a/device_board_phytium/common/distributedhardware/distributed_hardware_components_cfg.json +++ b/device_board_phytium/common/distributedhardware/distributed_hardware_components_cfg.json @@ -9,7 +9,7 @@ "comp_source_version": "1.0", "comp_source_sa_id": 4803, "comp_sink_loc": "libdistributed_camera_sink_sdk.z.so", - "comp_sink_version": "1.0", + "comp_sink_version": "2.0", "comp_sink_sa_id": 4804, "comp_resource_desc": [ { diff --git a/device_board_phytium/common/kernel_source/linux-5.10/phytium.patch b/device_board_phytium/common/kernel_source/linux-5.10/phytium.patch index 02952f2b1cec43ab9b2bdc4bd2ee9c1400cc3e9e..c33b8776ec4aa900059329b2c2dd5f46cfda92c8 100644 --- a/device_board_phytium/common/kernel_source/linux-5.10/phytium.patch +++ b/device_board_phytium/common/kernel_source/linux-5.10/phytium.patch @@ -1,5 +1,5 @@ diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 4ccf42462..000d1beb1 100644 +index 69c898937..20aaba595 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -3920,6 +3920,10 @@ @@ -1835,7 +1835,7 @@ index 6a9490ad7..86336a89f 100644 { struct fwnode_handle *result; diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c -index 14ee631cb..5cccc0f70 100644 +index b3e468000..2a7e7676b 100644 --- a/drivers/acpi/pci_irq.c +++ b/drivers/acpi/pci_irq.c @@ -22,6 +22,8 @@ @@ -1847,7 +1847,7 @@ index 14ee631cb..5cccc0f70 100644 #define PREFIX "ACPI: " #define _COMPONENT ACPI_PCI_COMPONENT -@@ -410,6 +412,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev) +@@ -411,6 +413,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev) char *link = NULL; char link_desc[16]; int rc; @@ -1855,7 +1855,7 @@ index 14ee631cb..5cccc0f70 100644 pin = dev->pin; if (!pin) { -@@ -438,7 +441,8 @@ int acpi_pci_irq_enable(struct pci_dev *dev) +@@ -439,7 +442,8 @@ int acpi_pci_irq_enable(struct pci_dev *dev) gsi = acpi_pci_link_allocate_irq(entry->link, entry->index, &triggering, &polarity, @@ -1865,7 +1865,7 @@ index 14ee631cb..5cccc0f70 100644 else gsi = entry->index; } else -@@ -462,7 +466,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev) +@@ -463,7 +467,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev) return 0; } @@ -1936,6 +1936,83 @@ index fb4c5632a..21f3e4e30 100644 ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Link %s is referenced\n", acpi_device_bid(link->device))); +diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig +index a7d9e4600..b5ff63d39 100644 +--- a/drivers/char/hw_random/Kconfig ++++ b/drivers/char/hw_random/Kconfig +@@ -536,6 +536,18 @@ config HW_RANDOM_XIPHERA + To compile this driver as a module, choose M here: the + module will be called xiphera-trng. + ++config HW_RANDOM_PHYTIUM ++ tristate "Phytium Random Number Generator support" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ help ++ This driver provides kernel-side support for the Random Number ++ Generator hardware found on Phytium SoCs. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called phytium-rng. ++ ++ If unsure, say Y. ++ + endif # HW_RANDOM + + config UML_RANDOM +diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile +index 5da344509..17cc2f445 100644 +--- a/drivers/char/hw_random/Makefile ++++ b/drivers/char/hw_random/Makefile +@@ -46,3 +46,5 @@ obj-$(CONFIG_HW_RANDOM_OPTEE) += optee-rng.o + obj-$(CONFIG_HW_RANDOM_NPCM) += npcm-rng.o + obj-$(CONFIG_HW_RANDOM_CCTRNG) += cctrng.o + obj-$(CONFIG_HW_RANDOM_XIPHERA) += xiphera-trng.o ++ ++obj-$(CONFIG_HW_RANDOM_PHYTIUM) += phytium-rng.o +\ No newline at end of file +diff --git a/drivers/char/ipmi/Kconfig b/drivers/char/ipmi/Kconfig +index f44318626..1fdabf78a 100644 +--- a/drivers/char/ipmi/Kconfig ++++ b/drivers/char/ipmi/Kconfig +@@ -109,6 +109,27 @@ config ASPEED_KCS_IPMI_BMC + The driver implements the BMC side of the KCS contorller, it + provides the access of KCS IO space for BMC side. + ++config PHYTIUM_KCS_IPMI_BMC ++ depends on ARCH_PHYTIUM ++ select IPMI_KCS_BMC ++ select REGMAP_MMIO ++ tristate "PHYTIUM KCS IPMI BMC driver" ++ help ++ Provides a driver for the KCS (Kerboard Controller Style) IPMI ++ interface found on Phytium SOCs. ++ ++ The driver implements the BMC side of the KCS controller, it ++ provides the access of KCS IO space for BMC side. ++ ++config PHYTIUM_BT_IPMI_BMC ++ depends on ARCH_PHYTIUM ++ depends on REGMAP && REGMAP_MMIO && MFD_SYSCON ++ tristate "PHYTIUM BT BMC driver" ++ help ++ Provides a driver for the BT (Block Transfer) IPMI interface ++ found on Phytium SOCs. The driver implements the BMC ++ side of the BT interface. ++ + config NPCM7XX_KCS_IPMI_BMC + depends on ARCH_NPCM7XX || COMPILE_TEST + select IPMI_KCS_BMC +diff --git a/drivers/char/ipmi/Makefile b/drivers/char/ipmi/Makefile +index 0822adc2e..97712d873 100644 +--- a/drivers/char/ipmi/Makefile ++++ b/drivers/char/ipmi/Makefile +@@ -27,3 +27,5 @@ obj-$(CONFIG_ASPEED_BT_IPMI_BMC) += bt-bmc.o + obj-$(CONFIG_ASPEED_KCS_IPMI_BMC) += kcs_bmc_aspeed.o + obj-$(CONFIG_NPCM7XX_KCS_IPMI_BMC) += kcs_bmc_npcm7xx.o + obj-$(CONFIG_IPMB_DEVICE_INTERFACE) += ipmb_dev_int.o ++obj-$(CONFIG_PHYTIUM_KCS_IPMI_BMC) += kcs_bmc_phytium.o ++obj-$(CONFIG_PHYTIUM_BT_IPMI_BMC) += bt_bmc_phytium.o +\ No newline at end of file diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c index f4881764b..5ebafb91c 100644 --- a/drivers/clocksource/arm_arch_timer.c @@ -2531,6 +2608,200 @@ index 56a1f61aa..2d734faf8 100644 /* * Ideally channel must be free by now unless OS timeout last * request and platform continued to process the same, wait +diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig +index 9e4059836..ec36d56b9 100644 +--- a/drivers/gpio/Kconfig ++++ b/drivers/gpio/Kconfig +@@ -108,6 +108,10 @@ config GPIO_REGMAP + config GPIO_MAX730X + tristate + ++# This symbol is selected by both MMIO and PCI expanders ++config GPIO_PHYTIUM_CORE ++ tristate ++ + menu "Memory mapped GPIO drivers" + depends on HAS_IOMEM + +@@ -739,6 +743,27 @@ config GPIO_AMD_FCH + Note: This driver doesn't registers itself automatically, as it + needs to be provided with platform specific configuration. + (See eg. CONFIG_PCENGINES_APU2.) ++ ++config GPIO_PHYTIUM_PLAT ++ tristate "Phytium GPIO Platform support" ++ default y if ARCH_PHYTIUM ++ depends on ARM64 ++ select GPIO_PHYTIUM_CORE ++ select IRQ_DOMAIN ++ select GENERIC_IRQ_CHIP ++ select GPIOLIB_IRQCHIP ++ help ++ Say yes here to enable GPIO support for Phytium SoCs. ++ ++config GPIO_PHYTIUM_SGPIO ++ tristate "Phytium SGPIO support" ++ default y if ARCH_PHYTIUM ++ depends on ARM64 ++ select IRQ_DOMAIN ++ select GENERIC_IRQ_CHIP ++ help ++ Say yes here to enable SGPIO support for Phytium SoCs. ++ + endmenu + + menu "Port-mapped I/O GPIO drivers" +@@ -1520,6 +1545,20 @@ config GPIO_SODAVILLE + help + Say Y here to support Intel Sodaville GPIO. + ++ ++config GPIO_PHYTIUM_PCI ++ tristate "Phytium GPIO PCI support" ++ select GPIO_PHYTIUM_CORE ++ select IRQ_DOMAIN ++ select GENERIC_IRQ_CHIP ++ select GPIOLIB_IRQCHIP ++ help ++ Say Y here to support Phytium PCI GPIO controller on px210 chipset. ++ An interrupt is generated when any of the inputs change state ++ (low to high or high to low). ++ ++ This driver can be used for Phytium px210. ++ + endmenu + + menu "SPI GPIO expanders" +diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile +index 09dada80a..67dea5151 100644 +--- a/drivers/gpio/Makefile ++++ b/drivers/gpio/Makefile +@@ -180,3 +180,8 @@ obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o + obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o + obj-$(CONFIG_GPIO_ZX) += gpio-zx.o + obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o ++ ++obj-$(CONFIG_GPIO_PHYTIUM_CORE) += gpio-phytium-core.o ++obj-$(CONFIG_GPIO_PHYTIUM_PCI) += gpio-phytium-pci.o ++obj-$(CONFIG_GPIO_PHYTIUM_PLAT) += gpio-phytium-platform.o ++obj-$(CONFIG_GPIO_PHYTIUM_SGPIO) += gpio-phytium-sgpio.o +diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig +index 8a427467a..3d8fe5982 100644 +--- a/drivers/hwmon/Kconfig ++++ b/drivers/hwmon/Kconfig +@@ -2096,6 +2096,16 @@ config SENSORS_INTEL_M10_BMC_HWMON + sensors monitor various telemetry data of different components on the + card, e.g. board temperature, FPGA core temperature/voltage/current. + ++ ++config SENSORS_PHYTIUM ++ tristate "Phytium Fan tach and capture counter driver" ++ help ++ This driver provides support for Phytium Fan Tacho and capture ++ counter controllers. ++ ++ This driver can also be built as a module. If so, the module ++ will be called tacho-phytium. ++ + if ACPI + + comment "ACPI drivers" +diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile +index 9db2903b6..5b9a59433 100644 +--- a/drivers/hwmon/Makefile ++++ b/drivers/hwmon/Makefile +@@ -194,6 +194,8 @@ obj-$(CONFIG_SENSORS_WM831X) += wm831x-hwmon.o + obj-$(CONFIG_SENSORS_WM8350) += wm8350-hwmon.o + obj-$(CONFIG_SENSORS_XGENE) += xgene-hwmon.o + ++obj-$(CONFIG_SENSORS_PHYTIUM) += tacho-phytium.o ++ + obj-$(CONFIG_SENSORS_OCC) += occ/ + obj-$(CONFIG_PMBUS) += pmbus/ + +diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig +index 32cd26352..da1f879f5 100644 +--- a/drivers/hwspinlock/Kconfig ++++ b/drivers/hwspinlock/Kconfig +@@ -65,4 +65,13 @@ config HSEM_U8500 + + If unsure, say N. + ++config HWSPINLOCK_PHYTIUM ++ tristate "Phytium Hardware Spinlock device" ++ depends on HWSPINLOCK ++ depends on ARCH_PHYTIUM ++ help ++ Say y here to support the Phytium Hardware Spinlock device. ++ ++ If unsure, say N. ++ + endif # HWSPINLOCK +diff --git a/drivers/hwspinlock/Makefile b/drivers/hwspinlock/Makefile +index ed053e3f0..530aa6363 100644 +--- a/drivers/hwspinlock/Makefile ++++ b/drivers/hwspinlock/Makefile +@@ -10,3 +10,5 @@ obj-$(CONFIG_HWSPINLOCK_SIRF) += sirf_hwspinlock.o + obj-$(CONFIG_HWSPINLOCK_SPRD) += sprd_hwspinlock.o + obj-$(CONFIG_HWSPINLOCK_STM32) += stm32_hwspinlock.o + obj-$(CONFIG_HSEM_U8500) += u8500_hsem.o ++ ++obj-$(CONFIG_HWSPINLOCK_PHYTIUM) += phytium_hwspinlock.o +\ No newline at end of file +diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig +index ea474b16e..c2bdd7b92 100644 +--- a/drivers/i2c/busses/Kconfig ++++ b/drivers/i2c/busses/Kconfig +@@ -1206,6 +1206,34 @@ config I2C_RCAR + This driver can also be built as a module. If so, the module + will be called i2c-rcar. + ++config I2C_PHYTIUM_CORE ++ tristate ++ ++config I2C_PHYTIUM_PCI ++ tristate "Phytium I2C PCI" ++ depends on PCI && ARCH_PHYTIUM ++ select I2C_PHYTIUM_CORE ++ select I2C_SMBUS ++ help ++ If you say yes to this option, support will be included for the ++ Phytium I2C adapter. Only master mode is supported. ++ ++ This driver can also be built as a module. If so, the module ++ will be called i2c-phytium-pci. ++ ++config I2C_PHYTIUM_PLATFORM ++ tristate "Phytium I2C Platform" ++ depends on (ACPI && COMMON_CLK) || !ACPI ++ select I2C_SLAVE ++ select I2C_PHYTIUM_CORE ++ select I2C_SMBUS ++ help ++ If you say yes to this option, support will be included for the ++ Phytium I2C adapter. Only master mode is supported. ++ ++ This driver can also be built as a module. If so, the module ++ will be called i2c-phytium-platform. ++ + comment "External I2C/SMBus adapter drivers" + + config I2C_DIOLAN_U2C +diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile +index 683c49fac..78372fb65 100644 +--- a/drivers/i2c/busses/Makefile ++++ b/drivers/i2c/busses/Makefile +@@ -123,6 +123,10 @@ obj-$(CONFIG_I2C_XLR) += i2c-xlr.o + obj-$(CONFIG_I2C_XLP9XX) += i2c-xlp9xx.o + obj-$(CONFIG_I2C_RCAR) += i2c-rcar.o + obj-$(CONFIG_I2C_ZX2967) += i2c-zx2967.o ++obj-$(CONFIG_I2C_PHYTIUM_CORE) += i2c-phytium-core.o ++i2c-phytium-core-objs := i2c-phytium-common.o i2c-phytium-master.o i2c-phytium-slave.o ++obj-$(CONFIG_I2C_PHYTIUM_PCI) += i2c-phytium-pci.o ++obj-$(CONFIG_I2C_PHYTIUM_PLATFORM) += i2c-phytium-platform.o + + # External I2C/SMBus adapter drivers + obj-$(CONFIG_I2C_DIOLAN_U2C) += i2c-diolan-u2c.o diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 474754151..f49a08355 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c @@ -2543,6 +2814,101 @@ index 474754151..f49a08355 100644 { } }; MODULE_DEVICE_TABLE(acpi, dw_i2c_acpi_match); +diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig +index e39b67912..c08a8421c 100644 +--- a/drivers/iio/adc/Kconfig ++++ b/drivers/iio/adc/Kconfig +@@ -1226,4 +1226,16 @@ config XILINX_XADC + The driver can also be build as a module. If so, the module will be called + xilinx-xadc. + ++config PHYTIUM_ADC ++ tristate "Phytium ADC driver" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ select IIO_BUFFER ++ select IIO_TRIGGERED_BUFFER ++ help ++ Say yes here to build support for Phytium analog to digital ++ converters (ADC). ++ ++ To compile this driver as a module, choose M here: the module ++ will be called phytium-adc. ++ + endmenu +diff --git a/drivers/iio/adc/Makefile b/drivers/iio/adc/Makefile +index 90f94ada7..49b6f4651 100644 +--- a/drivers/iio/adc/Makefile ++++ b/drivers/iio/adc/Makefile +@@ -111,3 +111,4 @@ obj-$(CONFIG_VIPERBOARD_ADC) += viperboard_adc.o + xilinx-xadc-y := xilinx-xadc-core.o xilinx-xadc-events.o + obj-$(CONFIG_XILINX_XADC) += xilinx-xadc.o + obj-$(CONFIG_SD_ADC_MODULATOR) += sd_adc_modulator.o ++obj-$(CONFIG_PHYTIUM_ADC) += phytium-adc.o +\ No newline at end of file +diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig +index 3f7a5ff17..9ab0634f2 100644 +--- a/drivers/input/keyboard/Kconfig ++++ b/drivers/input/keyboard/Kconfig +@@ -788,4 +788,15 @@ config KEYBOARD_MTK_PMIC + To compile this driver as a module, choose M here: the + module will be called pmic-keys. + ++config KEYBOARD_PHYTIUM ++ tristate "Phytium keypad support" ++ depends on ARCH_PHYTIUM ++ select INPUT_MATRIXKMAP ++ help ++ Say Y here if you want to enable support for Phytium keypad ++ port. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called phytium_keypad. ++ + endif +diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile +index 1d689fdd5..4947b23ef 100644 +--- a/drivers/input/keyboard/Makefile ++++ b/drivers/input/keyboard/Makefile +@@ -70,3 +70,4 @@ obj-$(CONFIG_KEYBOARD_TEGRA) += tegra-kbc.o + obj-$(CONFIG_KEYBOARD_TM2_TOUCHKEY) += tm2-touchkey.o + obj-$(CONFIG_KEYBOARD_TWL4030) += twl4030_keypad.o + obj-$(CONFIG_KEYBOARD_XTKBD) += xtkbd.o ++obj-$(CONFIG_KEYBOARD_PHYTIUM) += phytium-keypad.o +diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig +index 0754744b9..ffda99260 100644 +--- a/drivers/input/serio/Kconfig ++++ b/drivers/input/serio/Kconfig +@@ -40,6 +40,18 @@ config SERIO_I8042 + To compile this driver as a module, choose M here: the + module will be called i8042. + ++config SERIO_PHYTIUM_PS2 ++ depends on SERIO ++ tristate "PHYTIUM PS/2 (keyboard and mouse)" ++ default y if ARCH_PHYTIUM ++ depends on PCI ++ help ++ This selects support for the PS/2 Host Controller on ++ Phytium SoCs. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called phytium-ps2. ++ + config SERIO_SERPORT + tristate "Serial port line discipline" + default y +diff --git a/drivers/input/serio/Makefile b/drivers/input/serio/Makefile +index 6d97bad7b..958591822 100644 +--- a/drivers/input/serio/Makefile ++++ b/drivers/input/serio/Makefile +@@ -7,6 +7,7 @@ + + obj-$(CONFIG_SERIO) += serio.o + obj-$(CONFIG_SERIO_I8042) += i8042.o ++obj-$(CONFIG_SERIO_PHYTIUM_PS2) += phytium-ps2.o + obj-$(CONFIG_SERIO_PARKBD) += parkbd.o + obj-$(CONFIG_SERIO_SERPORT) += serport.o + obj-$(CONFIG_SERIO_CT82C710) += ct82c710.o diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c index 982c42c87..4dbeb03a0 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -2747,11 +3113,37 @@ index 57e5d223c..bc95e4773 100644 }; /* SMMU private data for each master */ +diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig +index 641d20632..ee1679bca 100644 +--- a/drivers/irqchip/Kconfig ++++ b/drivers/irqchip/Kconfig +@@ -623,4 +623,12 @@ config MST_IRQ + help + Support MStar Interrupt Controller. + ++config PHYTIUM_IXIC ++ bool "Phytium SoC PCI Legacy Interrupt Controller" ++ depends on ARCH_PHYTIUM ++ select IRQ_DOMAIN ++ select IRQ_DOMAIN_HIERARCHY ++ help ++ This enables support PCI Legacy Interrupt on Phytium SoC. ++ + endmenu +diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile +index 44794b04e..4f734f88d 100644 +--- a/drivers/irqchip/Makefile ++++ b/drivers/irqchip/Makefile +@@ -117,3 +117,4 @@ obj-$(CONFIG_LOONGSON_PCH_MSI) += irq-loongson-pch-msi.o + obj-$(CONFIG_LOONGSON_PCH_LPC) += irq-loongson-pch-lpc.o + obj-$(CONFIG_MST_IRQ) += irq-mst-intc.o + obj-$(CONFIG_SL28CPLD_INTC) += irq-sl28cpld.o ++obj-$(CONFIG_PHYTIUM_IXIC) += irq-phytium-ixic.o diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c -index 23ca48741..343b6f2b9 100644 +index 03cbd3c0c..5593359ea 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c -@@ -4783,6 +4783,7 @@ static void its_restore_enable(void) +@@ -4803,6 +4803,7 @@ static void its_restore_enable(void) { struct its_node *its; int ret; @@ -2759,7 +3151,7 @@ index 23ca48741..343b6f2b9 100644 raw_spin_lock(&its_lock); list_for_each_entry(its, &its_nodes, entry) { -@@ -4836,6 +4837,23 @@ static void its_restore_enable(void) +@@ -4856,6 +4857,23 @@ static void its_restore_enable(void) GITS_TYPER_HCC(gic_read_typer(base + GITS_TYPER))) its_cpu_init_collection(its); } @@ -2783,6 +3175,177 @@ index 23ca48741..343b6f2b9 100644 raw_spin_unlock(&its_lock); } +diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig +index 05b1009e2..e75a6824a 100644 +--- a/drivers/mailbox/Kconfig ++++ b/drivers/mailbox/Kconfig +@@ -254,4 +254,13 @@ config QCOM_IPCC + acts as an interrupt controller for receiving interrupts from clients. + Say Y here if you want to build this driver. + ++config PHYTIUM_MBOX ++ tristate "Phytium SoC Mailbox Support" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ help ++ Mailbox driver implementation for the Phytium platform. It is used ++ to send message between application processors and on-chip management ++ firmware. Say Y here if you want to build this mailbox controller ++ driver. ++ + endif +diff --git a/drivers/mailbox/Makefile b/drivers/mailbox/Makefile +index 2e06e02b2..e08fb4b9a 100644 +--- a/drivers/mailbox/Makefile ++++ b/drivers/mailbox/Makefile +@@ -54,3 +54,5 @@ obj-$(CONFIG_SUN6I_MSGBOX) += sun6i-msgbox.o + obj-$(CONFIG_SPRD_MBOX) += sprd-mailbox.o + + obj-$(CONFIG_QCOM_IPCC) += qcom-ipcc.o ++ ++obj-$(CONFIG_PHYTIUM_MBOX) += phytium-mailbox.o +diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig +index c5c6608cc..311bb3fa2 100644 +--- a/drivers/mfd/Kconfig ++++ b/drivers/mfd/Kconfig +@@ -1035,6 +1035,21 @@ config UCB1400_CORE + To compile this driver as a module, choose M here: the + module will be called ucb1400_core. + ++config MFD_PHYTIUM_I2S_LSD ++ tristate "PHYTIUM px210 I2S LSD MFD driver" ++ depends on (PCI && ARCH_PHYTIUM) ++ select MFD_CORE ++ help ++ This enables support for the Phytium px210 LSD I2S controller. ++ ++config MFD_PHYTIUM_I2S_MMD ++ tristate "PHYTIUM px210 I2S MMD MFD driver" ++ depends on (PCI && ARCH_PHYTIUM) ++ select MFD_CORE ++ help ++ This enables support for the Phytium px210 MMD I2S controllers ++ for Display Port. ++ + config MFD_PM8XXX + tristate "Qualcomm PM8xxx PMIC chips driver" + depends on (ARM || HEXAGON || COMPILE_TEST) +diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile +index 1780019d2..5e0bd7d96 100644 +--- a/drivers/mfd/Makefile ++++ b/drivers/mfd/Makefile +@@ -267,3 +267,6 @@ obj-$(CONFIG_MFD_KHADAS_MCU) += khadas-mcu.o + obj-$(CONFIG_SGI_MFD_IOC3) += ioc3.o + obj-$(CONFIG_MFD_SIMPLE_MFD_I2C) += simple-mfd-i2c.o + obj-$(CONFIG_MFD_INTEL_M10_BMC) += intel-m10-bmc.o ++ ++obj-$(CONFIG_MFD_PHYTIUM_I2S_LSD) += phytium_px210_i2s_lsd.o ++obj-$(CONFIG_MFD_PHYTIUM_I2S_MMD) += phytium_px210_i2s_mmd.o +diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig +index 8fe4a0fd6..ee28b6247 100644 +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -1105,3 +1105,37 @@ config MMC_OWL + + config MMC_SDHCI_EXTERNAL_DMA + bool ++ ++config MMC_PHYTIUM_SDCI ++ tristate "Phytium SD Host Controller support" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ default y if ARCH_PHYTIUM ++ help ++ This selects support for the SD/MMC Host Controller on ++ Phytium SoC family. ++ ++ If you have a controller with this interface, say Y or M here. ++ ++ If unsure, say N. ++ ++config MMC_PHYTIUM_MCI_PCI ++ tristate "Phytium octopus PCI MultiMedia Card Interface support" ++ depends on ARCH_PHYTIUM ++ default y if ARCH_PHYTIUM ++ help ++ This selects support for the PCI MultiMedia Card Interface on Phytium ++ px210 chipset. ++ ++ If you have a controller with this interface, say Y or M here. ++ ++ If unsure, say N. ++ ++config MMC_PHYTIUM_MCI_PLTFM ++ tristate "Phytium MultiMedia Card Interface support" ++ depends on ARCH_PHYTIUM && OF ++ default y if ARCH_PHYTIUM ++ help ++ This selects support for the MultiMedia Card Interface on Phytium SoCs. ++ If you have a controller with this interface, say Y or M here. ++ ++ If unsure, say N. +diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile +index 451c25fc2..4a46cf083 100644 +--- a/drivers/mmc/host/Makefile ++++ b/drivers/mmc/host/Makefile +@@ -77,6 +77,7 @@ obj-$(CONFIG_MMC_USDHI6ROL0) += usdhi6rol0.o + obj-$(CONFIG_MMC_TOSHIBA_PCI) += toshsd.o + obj-$(CONFIG_MMC_BCM2835) += bcm2835.o + obj-$(CONFIG_MMC_OWL) += owl-mmc.o ++obj-$(CONFIG_MMC_PHYTIUM_SDCI) += phytium-sdci.o + + obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o + obj-$(CONFIG_MMC_REALTEK_USB) += rtsx_usb_sdmmc.o +@@ -112,3 +113,6 @@ endif + + obj-$(CONFIG_MMC_SDHCI_XENON) += sdhci-xenon-driver.o + sdhci-xenon-driver-y += sdhci-xenon.o sdhci-xenon-phy.o ++ ++obj-$(CONFIG_MMC_PHYTIUM_MCI_PCI) += phytium-mci-pci.o phytium-mci.o ++obj-$(CONFIG_MMC_PHYTIUM_MCI_PLTFM) += phytium-mci-plat.o phytium-mci.o +diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig +index 6c46f25b5..2fce65c27 100644 +--- a/drivers/mtd/nand/raw/Kconfig ++++ b/drivers/mtd/nand/raw/Kconfig +@@ -486,6 +486,25 @@ config MTD_NAND_RICOH + expermental, readwrite + 'SmartMedia/xD new translation layer' + ++config MTD_NAND_PHYTIUM ++ tristate ++ ++config MTD_NAND_PHYTIUM_PCI ++ tristate "Support Phytium NAND controller as a PCI device" ++ select MTD_NAND_PHYTIUM ++ depends on PCI ++ help ++ Enable the driver for NAND flash controller of Phytium Px210 chipset, ++ using the Phytium NAND controller core. ++ ++config MTD_NAND_PHYTIUM_PLAT ++ tristate "Support Phytium NAND controller as a platform device" ++ select MTD_NAND_PHYTIUM ++ depends on ARCH_PHYTIUM ++ help ++ Enable the driver for NAND flash controller of Phytium CPU chipset, ++ using the Phytium NAND controller core. ++ + config MTD_NAND_DISKONCHIP + tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation)" + depends on HAS_IOMEM +diff --git a/drivers/mtd/nand/raw/Makefile b/drivers/mtd/nand/raw/Makefile +index 2930f5b90..b603ff23e 100644 +--- a/drivers/mtd/nand/raw/Makefile ++++ b/drivers/mtd/nand/raw/Makefile +@@ -59,6 +59,10 @@ obj-$(CONFIG_MTD_NAND_MESON) += meson_nand.o + obj-$(CONFIG_MTD_NAND_CADENCE) += cadence-nand-controller.o + obj-$(CONFIG_MTD_NAND_ARASAN) += arasan-nand-controller.o + ++obj-$(CONFIG_MTD_NAND_PHYTIUM) += phytium_nand.o ++obj-$(CONFIG_MTD_NAND_PHYTIUM_PCI) += phytium_nand_pci.o ++obj-$(CONFIG_MTD_NAND_PHYTIUM_PLAT) += phytium_nand_plat.o ++ + nand-objs := nand_base.o nand_legacy.o nand_bbt.o nand_timings.o nand_ids.o + nand-objs += nand_onfi.o + nand-objs += nand_jedec.o diff --git a/drivers/mtd/spi-nor/Makefile b/drivers/mtd/spi-nor/Makefile index 653923896..ca91ca6b9 100644 --- a/drivers/mtd/spi-nor/Makefile @@ -7557,6 +8120,66 @@ index 000000000..422a854eb + enum tc_setup_type type, void *type_data); + +#endif /* _MACB_TSN_H */ +diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig +index 13eda0c37..c4bae69c2 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/Kconfig ++++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig +@@ -117,6 +117,16 @@ config DWMAC_OXNAS + This selects the Oxford Semiconductor OXNASSoC glue layer support for + the stmmac device driver. This driver is used for OX820. + ++config DWMAC_PHYTIUM ++ tristate "Phytium dwmac support" ++ default ARCH_PHYTIUM ++ depends on (OF || ACPI) && (ARCH_PHYTIUM || COMPILE_TEST) ++ help ++ Support for GMAC controller on Phytium SoCs. ++ ++ This selects the Phytium GMAC glue layer support for the ++ stmmac device driver. ++ + config DWMAC_QCOM_ETHQOS + tristate "Qualcomm ETHQOS support" + default ARCH_QCOM +diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile +index 11ea4569c..540236c5d 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/Makefile ++++ b/drivers/net/ethernet/stmicro/stmmac/Makefile +@@ -18,6 +18,7 @@ obj-$(CONFIG_DWMAC_LPC18XX) += dwmac-lpc18xx.o + obj-$(CONFIG_DWMAC_MEDIATEK) += dwmac-mediatek.o + obj-$(CONFIG_DWMAC_MESON) += dwmac-meson.o dwmac-meson8b.o + obj-$(CONFIG_DWMAC_OXNAS) += dwmac-oxnas.o ++obj-$(CONFIG_DWMAC_PHYTIUM) += dwmac-phytium.o + obj-$(CONFIG_DWMAC_QCOM_ETHQOS) += dwmac-qcom-ethqos.o + obj-$(CONFIG_DWMAC_ROCKCHIP) += dwmac-rk.o + obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o +diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig +index 698bea312..44056ad58 100644 +--- a/drivers/net/phy/Kconfig ++++ b/drivers/net/phy/Kconfig +@@ -314,6 +314,12 @@ config XILINX_GMII2RGMII + the Reduced Gigabit Media Independent Interface(RGMII) between + Ethernet physical media devices and the Gigabit Ethernet controller. + ++config MOTORCOMM_PHY ++ tristate "Motorcomm PHYs" ++ help ++ Enables support for Motorcomm network PHYs. ++ Currently supports the YT8511 gigabit PHY. ++ + endif # PHYLIB + + config MICREL_KS8995MA +diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile +index a13e40207..5418a896f 100644 +--- a/drivers/net/phy/Makefile ++++ b/drivers/net/phy/Makefile +@@ -80,3 +80,5 @@ obj-$(CONFIG_STE10XP) += ste10Xp.o + obj-$(CONFIG_TERANETICS_PHY) += teranetics.o + obj-$(CONFIG_VITESSE_PHY) += vitesse.o + obj-$(CONFIG_XILINX_GMII2RGMII) += xilinx_gmii2rgmii.o ++ ++obj-$(CONFIG_MOTORCOMM_PHY) += motorcomm.o diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index ac373510b..f5a17307b 100644 --- a/drivers/net/phy/at803x.c @@ -7732,7 +8355,7 @@ index 75c6c72ec..ad7e9ce25 100644 out: pci_config_pm_runtime_put(pdev); diff --git a/drivers/pci/pcie/portdrv.h b/drivers/pci/pcie/portdrv.h -index 2ff5724b8..6ac559346 100644 +index 358d7281f..59c4fd959 100644 --- a/drivers/pci/pcie/portdrv.h +++ b/drivers/pci/pcie/portdrv.h @@ -123,6 +123,19 @@ void pcie_port_bus_unregister(void); @@ -7756,7 +8379,7 @@ index 2ff5724b8..6ac559346 100644 extern bool pcie_pme_msi_disabled; diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c -index 3779b264d..839e43c55 100644 +index 682c1cce5..a929b2294 100644 --- a/drivers/pci/pcie/portdrv_core.c +++ b/drivers/pci/pcie/portdrv_core.c @@ -25,6 +25,17 @@ struct portdrv_service_data { @@ -7788,18 +8411,18 @@ index 3779b264d..839e43c55 100644 if (pcie_port_enable_irq_vec(dev, irqs, mask) == 0) return 0; diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 21661feee..5af216b4e 100644 +index f7d98ba16..37bdae47b 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -30,6 +30,7 @@ - #include +@@ -31,6 +31,7 @@ #include + #include #include /* isa_dma_bridge_buggy */ +#include #include "pci.h" static ktime_t fixup_debug_start(struct pci_dev *dev, -@@ -3878,12 +3879,12 @@ static int nvme_disable_and_flr(struct pci_dev *dev, int probe) +@@ -3939,12 +3940,12 @@ static int nvme_disable_and_flr(struct pci_dev *dev, int probe) void __iomem *bar; u16 cmd; u32 cfg; @@ -7814,7 +8437,7 @@ index 21661feee..5af216b4e 100644 return 0; bar = pci_iomap(dev, 0, NVME_REG_CC + sizeof(cfg)); -@@ -3937,7 +3938,7 @@ static int nvme_disable_and_flr(struct pci_dev *dev, int probe) +@@ -3998,7 +3999,7 @@ static int nvme_disable_and_flr(struct pci_dev *dev, int probe) pci_iounmap(dev, bar); pcie_flr(dev); @@ -7823,7 +8446,7 @@ index 21661feee..5af216b4e 100644 return 0; } -@@ -4033,6 +4034,7 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = { +@@ -4094,6 +4095,7 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = { { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IVB_M2_VGA, reset_ivb_igd }, { PCI_VENDOR_ID_SAMSUNG, 0xa804, nvme_disable_and_flr }, @@ -7831,7 +8454,7 @@ index 21661feee..5af216b4e 100644 { PCI_VENDOR_ID_INTEL, 0x0953, delay_250ms_after_flr }, { PCI_VENDOR_ID_CHELSIO, PCI_ANY_ID, reset_chelsio_generic_dev }, -@@ -4972,6 +4974,10 @@ static const struct pci_dev_acs_enabled { +@@ -5033,6 +5035,10 @@ static const struct pci_dev_acs_enabled { { PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs }, /* Wangxun nics */ { PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs }, @@ -7842,7 +8465,7 @@ index 21661feee..5af216b4e 100644 { 0 } }; -@@ -5355,6 +5361,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0142, quirk_no_ext_tags); +@@ -5416,6 +5422,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0142, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0144, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0420, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags); @@ -7850,6 +8473,149 @@ index 21661feee..5af216b4e 100644 #ifdef CONFIG_PCI_ATS static void quirk_no_ats(struct pci_dev *pdev) +diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig +index 63be5362f..90c428634 100644 +--- a/drivers/pwm/Kconfig ++++ b/drivers/pwm/Kconfig +@@ -570,4 +570,14 @@ config PWM_ZX + To compile this driver as a module, choose M here: the module + will be called pwm-zx. + ++config PWM_PHYTIUM ++ tristate "Phytium PWM support" ++ depends on ARCH_PHYTIUM ++ help ++ Generic PWM framework driver for the PWM controller found on ++ Phytium SoCs. ++ ++ To compile this driver as a module, choose M here: the module ++ will be called pwm-phytium. ++ + endif +diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile +index cbdcd55d6..32efa3652 100644 +--- a/drivers/pwm/Makefile ++++ b/drivers/pwm/Makefile +@@ -55,3 +55,5 @@ obj-$(CONFIG_PWM_TWL) += pwm-twl.o + obj-$(CONFIG_PWM_TWL_LED) += pwm-twl-led.o + obj-$(CONFIG_PWM_VT8500) += pwm-vt8500.o + obj-$(CONFIG_PWM_ZX) += pwm-zx.o ++ ++obj-$(CONFIG_PWM_PHYTIUM) += pwm-phytium.o +diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig +index d99548fb5..b714bf090 100644 +--- a/drivers/remoteproc/Kconfig ++++ b/drivers/remoteproc/Kconfig +@@ -288,6 +288,12 @@ config TI_K3_R5_REMOTEPROC + It's safe to say N here if you're not interested in utilizing + a slave processor. + ++config HOMO_REMOTEPROC ++ bool "homogeneous remoteproc support" ++ select RPMSG_VIRTIO ++ help ++ Say y here to support homogeneous processors via the remote processor framework. ++ + endif # REMOTEPROC + + endmenu +diff --git a/drivers/remoteproc/Makefile b/drivers/remoteproc/Makefile +index da2ace4ec..9a5540d9a 100644 +--- a/drivers/remoteproc/Makefile ++++ b/drivers/remoteproc/Makefile +@@ -34,3 +34,4 @@ obj-$(CONFIG_ST_SLIM_REMOTEPROC) += st_slim_rproc.o + obj-$(CONFIG_STM32_RPROC) += stm32_rproc.o + obj-$(CONFIG_TI_K3_DSP_REMOTEPROC) += ti_k3_dsp_remoteproc.o + obj-$(CONFIG_TI_K3_R5_REMOTEPROC) += ti_k3_r5_remoteproc.o ++obj-$(CONFIG_HOMO_REMOTEPROC) += homo_remoteproc.o +diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig +old mode 100644 +new mode 100755 +index 54cf5ec8f..c1a385acd +--- a/drivers/rtc/Kconfig ++++ b/drivers/rtc/Kconfig +@@ -701,6 +701,16 @@ config RTC_DRV_S5M + This driver can also be built as a module. If so, the module + will be called rtc-s5m. + ++config RTC_DRV_SD3068 ++ tristate "ZXW Shenzhen whwave SD3068" ++ select REGMAP_I2C ++ help ++ If you say yes here you get support for the ZXW Shenzhen whwave ++ SD3068 RTC chips. ++ ++ This driver can also be built as a module. If so, the module ++ will be called rtc-sd3068 ++ + config RTC_DRV_SD3078 + tristate "ZXW Shenzhen whwave SD3078" + select REGMAP_I2C +diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile +old mode 100644 +new mode 100755 +index bfb574641..422182033 +--- a/drivers/rtc/Makefile ++++ b/drivers/rtc/Makefile +@@ -153,6 +153,7 @@ obj-$(CONFIG_RTC_DRV_S3C) += rtc-s3c.o + obj-$(CONFIG_RTC_DRV_S5M) += rtc-s5m.o + obj-$(CONFIG_RTC_DRV_SA1100) += rtc-sa1100.o + obj-$(CONFIG_RTC_DRV_SC27XX) += rtc-sc27xx.o ++obj-$(CONFIG_RTC_DRV_SD3068) += rtc-sd3068.o + obj-$(CONFIG_RTC_DRV_SD3078) += rtc-sd3078.o + obj-$(CONFIG_RTC_DRV_SH) += rtc-sh.o + obj-$(CONFIG_RTC_DRV_SIRFSOC) += rtc-sirfsoc.o +diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig +index 74ea6b6b5..e4d6be4e5 100644 +--- a/drivers/spi/Kconfig ++++ b/drivers/spi/Kconfig +@@ -585,6 +585,31 @@ config SPI_ORION + This enables using the SPI master controller on the Orion + and MVEBU chips. + ++config SPI_PHYTIUM ++ tristate ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ ++config SPI_PHYTIUM_PLAT ++ tristate "Phytium SPI controller platform support" ++ select SPI_PHYTIUM ++ help ++ This selects a platform driver for Phytium SPI controller. ++ ++ If you say yes to this option, support will be included for ++ Pd1904 and pd2008 families of SPI controller. ++ ++config SPI_PHYTIUM_PCI ++ tristate "Phytium SPI controller PCI support" ++ depends on PCI ++ select SPI_PHYTIUM ++ help ++ This selects a PCI driver for Phytium SPI controller. ++ ++ If you say yes to this option, support will be included for ++ Phytium px210 chipset of SPI controller. ++ ++ If unsure, say N. ++ + config SPI_PIC32 + tristate "Microchip PIC32 series SPI" + depends on MACH_PIC32 || COMPILE_TEST +diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile +index 6fea58216..c5996a6d3 100644 +--- a/drivers/spi/Makefile ++++ b/drivers/spi/Makefile +@@ -82,6 +82,10 @@ obj-$(CONFIG_SPI_OMAP_100K) += spi-omap-100k.o + obj-$(CONFIG_SPI_OMAP24XX) += spi-omap2-mcspi.o + obj-$(CONFIG_SPI_TI_QSPI) += spi-ti-qspi.o + obj-$(CONFIG_SPI_ORION) += spi-orion.o ++obj-$(CONFIG_SPI_PHYTIUM) += spi-phytium.o spi-phytium-dma.o ++obj-$(CONFIG_SPI_PHYTIUM_PLAT) += spi-phytium-plat.o ++obj-$(CONFIG_SPI_PHYTIUM_PCI) += spi-phytium-pci.o ++obj-$(CONFIG_SPI_PHYTIUM_QSPI) += spi-phytium-qspi.o + obj-$(CONFIG_SPI_PIC32) += spi-pic32.o + obj-$(CONFIG_SPI_PIC32_SQI) += spi-pic32-sqi.o + obj-$(CONFIG_SPI_PL022) += spi-pl022.o diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c index 6ea80add7..b96f8e313 100644 --- a/drivers/tee/optee/core.c @@ -7885,8 +8651,43 @@ index 6ea80add7..b96f8e313 100644 }, }; module_platform_driver(optee_driver); +diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig +index 28f22e586..4d6ac2bc7 100644 +--- a/drivers/tty/serial/Kconfig ++++ b/drivers/tty/serial/Kconfig +@@ -73,6 +73,17 @@ config SERIAL_AMBA_PL011_CONSOLE + your boot loader (lilo or loadlin) about how to pass options to the + kernel at boot time.) + ++config SERIAL_PHYTIUM_PCI ++ tristate "Phytium PCI serial port support" ++ depends on PCI ++ select SERIAL_CORE ++ help ++ This driver supports the Phytium UART controller on PCI/PCIe adapters. ++ If you want to compile this driver into the kernel, say Y here. To ++ compile this driver as a module, choose M here. ++ ++ If unsure, say N. ++ + config SERIAL_EARLYCON_ARM_SEMIHOST + bool "Early console using ARM semihosting" + depends on ARM64 || ARM +diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile +index caf167f0c..f215657dc 100644 +--- a/drivers/tty/serial/Makefile ++++ b/drivers/tty/serial/Makefile +@@ -91,6 +91,8 @@ obj-$(CONFIG_SERIAL_RDA) += rda-uart.o + obj-$(CONFIG_SERIAL_MILBEAUT_USIO) += milbeaut_usio.o + obj-$(CONFIG_SERIAL_SIFIVE) += sifive.o + ++obj-$(CONFIG_SERIAL_PHYTIUM_PCI) += phytium-uart.o ++ + # GPIOLIB helpers for modem control lines + obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o + diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c -index 53f832787..96be5bc21 100644 +index 311e96b05..f9871d36f 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c @@ -72,6 +72,8 @@ @@ -7898,7 +8699,7 @@ index 53f832787..96be5bc21 100644 static const char hcd_name[] = "xhci_hcd"; static struct hc_driver __read_mostly xhci_pci_hc_driver; -@@ -283,6 +285,9 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) +@@ -285,6 +287,9 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) if (pdev->vendor == PCI_VENDOR_ID_VIA) xhci->quirks |= XHCI_RESET_ON_RESUME; @@ -7909,7 +8710,7 @@ index 53f832787..96be5bc21 100644 if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3432) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c -index e56a1fb97..65a019a4d 100644 +index 83c7dffa9..d64361116 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -137,6 +137,10 @@ static const struct xhci_plat_priv xhci_plat_brcm = { @@ -7942,7 +8743,7 @@ index e56a1fb97..65a019a4d 100644 else priv_match = dev_get_platdata(&pdev->dev); -@@ -533,6 +542,7 @@ static const struct dev_pm_ops xhci_plat_pm_ops = { +@@ -536,6 +545,7 @@ static const struct dev_pm_ops xhci_plat_pm_ops = { static const struct acpi_device_id usb_xhci_acpi_match[] = { /* XHCI-compliant USB Controller */ { "PNP0D10", }, @@ -7950,6 +8751,37 @@ index e56a1fb97..65a019a4d 100644 { } }; MODULE_DEVICE_TABLE(acpi, usb_xhci_acpi_match); +diff --git a/drivers/w1/masters/Kconfig b/drivers/w1/masters/Kconfig +index 24b9a8e05..8c2f6e045 100644 +--- a/drivers/w1/masters/Kconfig ++++ b/drivers/w1/masters/Kconfig +@@ -74,5 +74,15 @@ config W1_MASTER_SGI + This support is also available as a module. If so, the module + will be called sgi_w1. + ++config W1_MASTER_PHYTIUM ++ tristate "Phytium 1-wire driver" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ help ++ Say Y here if you want to get support for the 1-wire interface ++ on an Phytium SoC. ++ ++ This driver can also be built as a module. If so, the module ++ will be called phytium-w1. ++ + endmenu + +diff --git a/drivers/w1/masters/Makefile b/drivers/w1/masters/Makefile +index dae629b7a..43a66fd6d 100644 +--- a/drivers/w1/masters/Makefile ++++ b/drivers/w1/masters/Makefile +@@ -12,3 +12,5 @@ obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o + obj-$(CONFIG_W1_MASTER_GPIO) += w1-gpio.o + obj-$(CONFIG_HDQ_MASTER_OMAP) += omap_hdq.o + obj-$(CONFIG_W1_MASTER_SGI) += sgi_w1.o ++ ++obj-$(CONFIG_W1_MASTER_PHYTIUM) += phytium_w1.o +\ No newline at end of file diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h index 5eb175933..dbdcd2f51 100644 --- a/include/acpi/acpi_drivers.h @@ -7977,10 +8809,10 @@ index 1d68d5613..6b085710e 100644 enum arch_timer_ppi_nr { diff --git a/include/linux/acpi.h b/include/linux/acpi.h -index 9c184dbce..5692707e0 100644 +index 01e44fde1..6df775971 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h -@@ -340,6 +340,16 @@ struct irq_domain *acpi_irq_create_hierarchy(unsigned int flags, +@@ -347,6 +347,16 @@ struct irq_domain *acpi_irq_create_hierarchy(unsigned int flags, const struct irq_domain_ops *ops, void *host_data); @@ -7998,10 +8830,10 @@ index 9c184dbce..5692707e0 100644 extern int acpi_get_override_irq(u32 gsi, int *trigger, int *polarity); #else diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h -index 088c835ac..fff4c30ba 100644 +index 80c351d0d..699843a3b 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h -@@ -198,6 +198,7 @@ enum cpuhp_state { +@@ -199,6 +199,7 @@ enum cpuhp_state { CPUHP_AP_ONLINE_DYN_END = CPUHP_AP_ONLINE_DYN + 30, CPUHP_AP_X86_HPET_ONLINE, CPUHP_AP_X86_KVM_CLK_ONLINE, @@ -8010,10 +8842,10 @@ index 088c835ac..fff4c30ba 100644 CPUHP_ONLINE, }; diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h -index 1a41147b2..62c6786ce 100644 +index 450ae1042..2a26cfb97 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h -@@ -3141,4 +3141,6 @@ +@@ -3156,4 +3156,6 @@ #define PCI_VENDOR_ID_NCUBE 0x10ff @@ -8089,10 +8921,10 @@ index 851b982f8..f08747fd2 100644 + #endif /* _UAPILINUX_SERIAL_CORE_H */ diff --git a/sound/hda/hdac_controller.c b/sound/hda/hdac_controller.c -index 522d18976..a019ad892 100644 +index da047c8bb..4caf82e04 100644 --- a/sound/hda/hdac_controller.c +++ b/sound/hda/hdac_controller.c -@@ -143,6 +143,9 @@ int snd_hdac_bus_send_cmd(struct hdac_bus *bus, unsigned int val) +@@ -167,6 +167,9 @@ int snd_hdac_bus_send_cmd(struct hdac_bus *bus, unsigned int val) { unsigned int addr = azx_command_addr(val); unsigned int wp, rp; @@ -8102,7 +8934,7 @@ index 522d18976..a019ad892 100644 spin_lock_irq(&bus->reg_lock); -@@ -169,6 +172,42 @@ int snd_hdac_bus_send_cmd(struct hdac_bus *bus, unsigned int val) +@@ -193,6 +196,42 @@ int snd_hdac_bus_send_cmd(struct hdac_bus *bus, unsigned int val) bus->corb.buf[wp] = cpu_to_le32(val); snd_hdac_chip_writew(bus, CORBWP, wp); @@ -8146,10 +8978,10 @@ index 522d18976..a019ad892 100644 return 0; diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c -index 557072245..84d5a9ca6 100644 +index 13d77ff04..904b2b2bf 100644 --- a/sound/hda/hdac_stream.c +++ b/sound/hda/hdac_stream.c -@@ -87,7 +87,11 @@ void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start) +@@ -89,7 +89,11 @@ void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start) trace_snd_hdac_stream_start(bus, azx_dev); @@ -8158,10 +8990,10 @@ index 557072245..84d5a9ca6 100644 +#else azx_dev->start_wallclk = snd_hdac_chip_readl(bus, WALLCLK); +#endif - if (!fresh_start) + if (!fresh_start && !(chip->driver_caps & AZX_DCAPS_LS2X_WORKAROUND)) azx_dev->start_wallclk -= azx_dev->period_wallclk; -@@ -550,7 +554,11 @@ static u64 azx_cc_read(const struct cyclecounter *cc) +@@ -596,7 +600,11 @@ static u64 azx_cc_read(const struct cyclecounter *cc) { struct hdac_stream *azx_dev = container_of(cc, struct hdac_stream, cc); @@ -8173,8 +9005,52 @@ index 557072245..84d5a9ca6 100644 } static void azx_timecounter_init(struct hdac_stream *azx_dev, +diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig +index 77ee0b088..7cbbec237 100644 +--- a/sound/pci/hda/Kconfig ++++ b/sound/pci/hda/Kconfig +@@ -26,6 +26,22 @@ config SND_HDA_INTEL + To compile this driver as a module, choose M here: the module + will be called snd-hda-intel. + ++config SND_HDA_PHYTIUM ++ tristate "PHYTIUM HD Audio" ++ depends on SOUND ++ select SND_HDA ++ select SND_HDA_ALIGNED_MMIO ++ help ++ Say Y here to support the HDA controller present in PHYTIUM ++ SoCs ++ ++ This options enables support for the HD Audio controller ++ present in some PHYTIUM SoCs, used to communicate audio ++ to the "High Definition Audio" codec. ++ ++ To compile this driver as a module, choose M here: the module ++ will be called snd-hda-phytium. ++ + config SND_HDA_TEGRA + tristate "NVIDIA Tegra HD Audio" + depends on ARCH_TEGRA +diff --git a/sound/pci/hda/Makefile b/sound/pci/hda/Makefile +index 2b6d1b324..a0d5b7243 100644 +--- a/sound/pci/hda/Makefile ++++ b/sound/pci/hda/Makefile +@@ -2,6 +2,7 @@ + snd-hda-intel-objs := hda_intel.o + snd-hda-tegra-objs := hda_tegra.o + snd-hda-loongson-objs := hda_loongson.o ++snd-hda-phytium-objs := hda_phytium.o + + snd-hda-codec-y := hda_bind.o hda_codec.o hda_jack.o hda_auto_parser.o hda_sysfs.o + snd-hda-codec-y += hda_controller.o +@@ -50,3 +51,4 @@ obj-$(CONFIG_SND_HDA_CODEC_HDMI) += snd-hda-codec-hdmi.o + obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o + obj-$(CONFIG_SND_HDA_TEGRA) += snd-hda-tegra.o + obj-$(CONFIG_SND_HDA_LOONGSON) += snd-hda-loongson.o ++obj-$(CONFIG_SND_HDA_PHYTIUM) += snd-hda-phytium.o diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c -index ea76395d7..9bc0b6e24 100644 +index 02279958a..5990563d9 100644 --- a/sound/pci/hda/hda_controller.c +++ b/sound/pci/hda/hda_controller.c @@ -17,6 +17,8 @@ @@ -8237,3 +9113,57 @@ index 000000000..ec1f3e7f7 +}; + +#endif +diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig +index 71a6fe87d..ed286439e 100644 +--- a/sound/soc/Kconfig ++++ b/sound/soc/Kconfig +@@ -77,6 +77,7 @@ source "sound/soc/ux500/Kconfig" + source "sound/soc/xilinx/Kconfig" + source "sound/soc/xtensa/Kconfig" + source "sound/soc/zte/Kconfig" ++source "sound/soc/phytium/Kconfig" + + # Supported codecs + source "sound/soc/codecs/Kconfig" +diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig +index 04a7070c7..4558ee2b9 100644 +--- a/sound/soc/codecs/Kconfig ++++ b/sound/soc/codecs/Kconfig +@@ -795,6 +795,15 @@ config SND_SOC_ES8328_SPI + depends on SPI_MASTER + select SND_SOC_ES8328 + ++config SND_SOC_ES8336 ++ tristate "Everest Semi ES8336 CODEC" ++ depends on I2C ++ select GPIO_PHYTIUM_PCI ++ ++config SND_SOC_ES8388 ++ tristate "Everest Semi ES8388 CODEC" ++ depends on I2C ++ + config SND_SOC_GTM601 + tristate 'GTM601 UMTS modem audio codec' + +diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile +index 11ce98c25..f89e41e8b 100644 +--- a/sound/soc/codecs/Makefile ++++ b/sound/soc/codecs/Makefile +@@ -90,6 +90,8 @@ snd-soc-es8316-objs := es8316.o + snd-soc-es8328-objs := es8328.o + snd-soc-es8328-i2c-objs := es8328-i2c.o + snd-soc-es8328-spi-objs := es8328-spi.o ++snd-soc-es8336-objs := es8336.o ++snd-soc-es8388-objs := es8388.o + snd-soc-gtm601-objs := gtm601.o + snd-soc-hdac-hdmi-objs := hdac_hdmi.o + snd-soc-hdac-hda-objs := hdac_hda.o +@@ -399,6 +401,8 @@ obj-$(CONFIG_SND_SOC_ES8316) += snd-soc-es8316.o + obj-$(CONFIG_SND_SOC_ES8328) += snd-soc-es8328.o + obj-$(CONFIG_SND_SOC_ES8328_I2C)+= snd-soc-es8328-i2c.o + obj-$(CONFIG_SND_SOC_ES8328_SPI)+= snd-soc-es8328-spi.o ++obj-$(CONFIG_SND_SOC_ES8336) += snd-soc-es8336.o ++obj-$(CONFIG_SND_SOC_ES8388) += snd-soc-es8388.o + obj-$(CONFIG_SND_SOC_GTM601) += snd-soc-gtm601.o + obj-$(CONFIG_SND_SOC_HDAC_HDMI) += snd-soc-hdac-hdmi.o + obj-$(CONFIG_SND_SOC_HDAC_HDA) += snd-soc-hdac-hda.o diff --git a/device_board_phytium/common/kernel_source/linux-5.10/phytium_standard_defconfig b/device_board_phytium/common/kernel_source/linux-5.10/phytium_standard_defconfig index eec50eb983e8f0e5082417fd0583e52c0147d3ac..41ff2c7282de736e3471041f1197420fedeaac1a 100644 --- a/device_board_phytium/common/kernel_source/linux-5.10/phytium_standard_defconfig +++ b/device_board_phytium/common/kernel_source/linux-5.10/phytium_standard_defconfig @@ -265,7 +265,7 @@ CONFIG_THUNDER_NIC_PF=y # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HUAWEI is not set CONFIG_E1000=m -CONFIG_E1000E=m +CONFIG_E1000E=y CONFIG_IGB=m CONFIG_IGBVF=m CONFIG_IXGB=m @@ -799,8 +799,8 @@ CONFIG_PSI=y # CONFIG_SUSPEND is not set CONFIG_VIDEO_PHYTIUM_VPU=y -CONFIG_DRM_RADEON=y -CONFIG_DRM_RADEON_USERPTR=y +CONFIG_DRM_RADEON=n +CONFIG_DRM_RADEON_USERPTR=n CONFIG_DRM_AMDGPU=y CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_CIK=y @@ -809,3 +809,12 @@ CONFIG_DRM_AMDGPU_GART_DEBUGFS=y CONFIG_DRM_MWV207=y CONFIG_OHOS_VENDOR=y + +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_PGTABLE_LEVELS=3 + +CONFIG_ARM64_VA_BITS_39=y +CONFIG_ARM64_VA_BITS=39 + +CONFIG_ARM64_PA_BITS_48=y +CONFIG_ARM64_PA_BITS=48 diff --git a/device_board_phytium/common/kernel_source/linux-6.6/phytium.patch b/device_board_phytium/common/kernel_source/linux-6.6/phytium.patch index 1ba982532702f92bfc91f7fd72e3d9d4ab213eb4..bc0081e05f2c795c73c77944313d5d7ea9a17c25 100644 --- a/device_board_phytium/common/kernel_source/linux-6.6/phytium.patch +++ b/device_board_phytium/common/kernel_source/linux-6.6/phytium.patch @@ -2096,10 +2096,10 @@ index 000000000..caf762039 + interrupts = ; + }; diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 573578db9..133cfb2bb 100644 +index 12a16031d..93258265c 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -1045,6 +1045,8 @@ patternProperties: +@@ -1047,6 +1047,8 @@ patternProperties: description: PHICOMM Co., Ltd. "^phytec,.*": description: PHYTEC Messtechnik GmbH @@ -2185,10 +2185,10 @@ index 000000000..5fa43e064 +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/MAINTAINERS b/MAINTAINERS -index 40312bb55..c8115f7cc 100644 +index ae4c0cec5..d265d1a06 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17415,6 +17415,89 @@ F: include/sound/pxa2xx-lib.h +@@ -17423,6 +17423,89 @@ F: include/sound/pxa2xx-lib.h F: sound/arm/pxa* F: sound/soc/pxa/ @@ -2279,10 +2279,10 @@ index 40312bb55..c8115f7cc 100644 M: Giovanni Cabiddu L: qat-linux@intel.com diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index b5df38c2a..a31b60cae 100644 +index 658c6a61a..ba92cd6c7 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1434,6 +1434,17 @@ config HOTPLUG_CPU +@@ -1473,6 +1473,17 @@ config HOTPLUG_CPU Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. @@ -2334,10 +2334,10 @@ index 30dd6347a..b7af3d263 100644 subdir-y += renesas diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig deleted file mode 100644 -index a789119e6..000000000 +index 60af93c04..000000000 --- a/arch/arm64/configs/defconfig +++ /dev/null -@@ -1,1586 +0,0 @@ +@@ -1,1587 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_AUDIT=y @@ -2963,6 +2963,7 @@ index a789119e6..000000000 -CONFIG_GPIO_UNIPHIER=y -CONFIG_GPIO_VISCONTI=y -CONFIG_GPIO_WCD934X=m +-CONFIG_GPIO_VF610=y -CONFIG_GPIO_XGENE=y -CONFIG_GPIO_XGENE_SB=y -CONFIG_GPIO_MAX732X=y @@ -3992,7 +3993,7 @@ index c47c36f8f..000000000 -# CONFIG_SURFACE_PLATFORMS is not set -# CONFIG_THERMAL is not set diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cputype.h -index 52f076afe..18f70359a 100644 +index 488f8e751..8f7df4f2e 100644 --- a/arch/arm64/include/asm/cputype.h +++ b/arch/arm64/include/asm/cputype.h @@ -62,6 +62,7 @@ @@ -4003,9 +4004,9 @@ index 52f076afe..18f70359a 100644 #define ARM_CPU_PART_AEM_V8 0xD0F #define ARM_CPU_PART_FOUNDATION 0xD00 -@@ -136,6 +137,13 @@ - +@@ -146,6 +147,13 @@ #define AMPERE_CPU_PART_AMPERE1 0xAC3 + #define AMPERE_CPU_PART_AMPERE1A 0xAC4 +#define PHYTIUM_CPU_PART_FTC310 0x660 +#define PHYTIUM_CPU_PART_FTC660 0x660 @@ -4017,9 +4018,9 @@ index 52f076afe..18f70359a 100644 #define MICROSOFT_CPU_PART_AZURE_COBALT_100 0xD49 /* Based on r0p0 of ARM Neoverse N2 */ #define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53) -@@ -197,6 +205,12 @@ - #define MIDR_APPLE_M2_AVALANCHE_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_AVALANCHE_MAX) +@@ -217,6 +225,12 @@ #define MIDR_AMPERE1 MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1) + #define MIDR_AMPERE1A MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1A) #define MIDR_MICROSOFT_AZURE_COBALT_100 MIDR_CPU_MODEL(ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_AZURE_COBALT_100) +#define MIDR_PHYTIUM_FTC310 MIDR_CPU_MODEL(ARM_CPU_IMP_PHYTIUM, PHYTIUM_CPU_PART_FTC310) +#define MIDR_PHYTIUM_FTC660 MIDR_CPU_MODEL(ARM_CPU_IMP_PHYTIUM, PHYTIUM_CPU_PART_FTC660) @@ -4091,7 +4092,7 @@ index d95b3d6b4..eca1f9012 100644 obj-$(CONFIG_ARM64_ACPI_PARKING_PROTOCOL) += acpi_parking_protocol.o obj-$(CONFIG_PARAVIRT) += paravirt.o diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c -index 444a73c2e..abb864868 100644 +index 827782588..deb42097f 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -1686,6 +1686,12 @@ static bool unmap_kernel_at_el0(const struct arm64_cpu_capabilities *entry, @@ -4108,7 +4109,7 @@ index 444a73c2e..abb864868 100644 MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_2XX_SILVER), MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_3XX_SILVER), diff --git a/arch/arm64/kernel/proton-pack.c b/arch/arm64/kernel/proton-pack.c -index 05f40c4e1..5854a5b3d 100644 +index 57503dc4b..19b1fa4ac 100644 --- a/arch/arm64/kernel/proton-pack.c +++ b/arch/arm64/kernel/proton-pack.c @@ -160,6 +160,7 @@ static enum mitigation_state spectre_v2_get_cpu_hw_mitigation_state(void) @@ -4348,130 +4349,6 @@ index 8b70759cd..79935d0ad 100644 switch (aet) { case ESR_ELx_AET_CE: /* corrected error */ -diff --git a/block/partitions/cmdline.c b/block/partitions/cmdline.c -index c03bc105e..152c85df9 100644 ---- a/block/partitions/cmdline.c -+++ b/block/partitions/cmdline.c -@@ -70,8 +70,8 @@ static int parse_subpart(struct cmdline_subpart **subpart, char *partdef) - } - - if (*partdef == '(') { -- int length; -- char *next = strchr(++partdef, ')'); -+ partdef++; -+ char *next = strsep(&partdef, ")"); - - if (!next) { - pr_warn("cmdline partition format is invalid."); -@@ -79,11 +79,7 @@ static int parse_subpart(struct cmdline_subpart **subpart, char *partdef) - goto fail; - } - -- length = min_t(int, next - partdef, -- sizeof(new_subpart->name) - 1); -- strscpy(new_subpart->name, partdef, length); -- -- partdef = ++next; -+ strscpy(new_subpart->name, next, sizeof(new_subpart->name)); - } else - new_subpart->name[0] = '\0'; - -@@ -117,14 +113,12 @@ static void free_subpart(struct cmdline_parts *parts) - } - } - --static int parse_parts(struct cmdline_parts **parts, const char *bdevdef) -+static int parse_parts(struct cmdline_parts **parts, char *bdevdef) - { - int ret = -EINVAL; - char *next; -- int length; - struct cmdline_subpart **next_subpart; - struct cmdline_parts *newparts; -- char buf[BDEVNAME_SIZE + 32 + 4]; - - *parts = NULL; - -@@ -132,28 +126,19 @@ static int parse_parts(struct cmdline_parts **parts, const char *bdevdef) - if (!newparts) - return -ENOMEM; - -- next = strchr(bdevdef, ':'); -+ next = strsep(&bdevdef, ":"); - if (!next) { - pr_warn("cmdline partition has no block device."); - goto fail; - } - -- length = min_t(int, next - bdevdef, sizeof(newparts->name) - 1); -- strscpy(newparts->name, bdevdef, length); -+ strscpy(newparts->name, next, sizeof(newparts->name)); - newparts->nr_subparts = 0; - - next_subpart = &newparts->subpart; - -- while (next && *(++next)) { -- bdevdef = next; -- next = strchr(bdevdef, ','); -- -- length = (!next) ? (sizeof(buf) - 1) : -- min_t(int, next - bdevdef, sizeof(buf) - 1); -- -- strscpy(buf, bdevdef, length); -- -- ret = parse_subpart(next_subpart, buf); -+ while ((next = strsep(&bdevdef, ","))) { -+ ret = parse_subpart(next_subpart, next); - if (ret) - goto fail; - -@@ -199,24 +184,17 @@ static int cmdline_parts_parse(struct cmdline_parts **parts, - - *parts = NULL; - -- next = pbuf = buf = kstrdup(cmdline, GFP_KERNEL); -+ pbuf = buf = kstrdup(cmdline, GFP_KERNEL); - if (!buf) - return -ENOMEM; - - next_parts = parts; - -- while (next && *pbuf) { -- next = strchr(pbuf, ';'); -- if (next) -- *next = '\0'; -- -- ret = parse_parts(next_parts, pbuf); -+ while ((next = strsep(&pbuf, ";"))) { -+ ret = parse_parts(next_parts, next); - if (ret) - goto fail; - -- if (next) -- pbuf = ++next; -- - next_parts = &(*next_parts)->next_parts; - } - -@@ -250,7 +228,6 @@ static struct cmdline_parts *bdev_parts; - static int add_part(int slot, struct cmdline_subpart *subpart, - struct parsed_partitions *state) - { -- int label_min; - struct partition_meta_info *info; - char tmp[sizeof(info->volname) + 4]; - -@@ -262,9 +239,7 @@ static int add_part(int slot, struct cmdline_subpart *subpart, - - info = &state->parts[slot].info; - -- label_min = min_t(int, sizeof(info->volname) - 1, -- sizeof(subpart->name)); -- strscpy(info->volname, subpart->name, label_min); -+ strscpy(info->volname, subpart->name, sizeof(info->volname)); - - snprintf(tmp, sizeof(tmp), "(%s)", info->volname); - strlcat(state->pp_buf, tmp, PAGE_SIZE); diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c index 80f945cbe..9e265b3ba 100644 --- a/drivers/acpi/acpi_apd.c @@ -4529,7 +4406,7 @@ index 6b18f8bc7..49e181f5a 100644 bool "APEI memory error recovering support" depends on ACPI_APEI && MEMORY_FAILURE diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c -index ab2a82cb1..2a7aa5e87 100644 +index 3aadc632d..f52b73294 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -148,6 +148,9 @@ static DEFINE_MUTEX(ghes_list_mutex); @@ -4542,7 +4419,7 @@ index ab2a82cb1..2a7aa5e87 100644 /* * Because the memory area used to transfer hardware error information * from BIOS to Linux can be determined only in NMI, IRQ or timer -@@ -534,9 +537,8 @@ static bool ghes_handle_arm_hw_error(struct acpi_hest_generic_data *gdata, +@@ -532,9 +535,8 @@ static bool ghes_handle_arm_hw_error(struct acpi_hest_generic_data *gdata, int sec_sev, i; char *p; @@ -4553,7 +4430,7 @@ index ab2a82cb1..2a7aa5e87 100644 if (sev != GHES_SEV_RECOVERABLE || sec_sev != GHES_SEV_RECOVERABLE) return false; -@@ -696,6 +698,11 @@ static bool ghes_do_proc(struct ghes *ghes, +@@ -694,6 +696,11 @@ static bool ghes_do_proc(struct ghes *ghes, if (guid_equal(sec_type, &CPER_SEC_PLATFORM_MEM)) { struct cper_sec_mem_err *mem_err = acpi_hest_get_payload(gdata); @@ -4647,7 +4524,7 @@ index ab2a82cb1..2a7aa5e87 100644 ghes_nmi_remove(ghes); break; diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h -index 866c7c4ed..19e7dd17c 100644 +index 1e8ee97fc..3642bd386 100644 --- a/drivers/acpi/internal.h +++ b/drivers/acpi/internal.h @@ -85,6 +85,18 @@ bool acpi_scan_is_offline(struct acpi_device *adev, bool uevent); @@ -4849,6 +4726,107 @@ index aa1038b8a..3af04e839 100644 acpi_handle_debug(handle, "Link is referenced\n"); return link->irq.active; } +diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig +index 8de74dcfa..5950e4e2f 100644 +--- a/drivers/char/hw_random/Kconfig ++++ b/drivers/char/hw_random/Kconfig +@@ -573,6 +573,18 @@ config HW_RANDOM_JH7110 + To compile this driver as a module, choose M here. + The module will be called jh7110-trng. + ++config HW_RANDOM_PHYTIUM ++ tristate "Phytium Random Number Generator support" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ help ++ This driver provides kernel-side support for the Random Number ++ Generator hardware found on Phytium SoCs. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called phytium-rng. ++ ++ If unsure, say Y. ++ + endif # HW_RANDOM + + config UML_RANDOM +diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile +index 32549a118..7542784c6 100644 +--- a/drivers/char/hw_random/Makefile ++++ b/drivers/char/hw_random/Makefile +@@ -49,3 +49,4 @@ obj-$(CONFIG_HW_RANDOM_ARM_SMCCC_TRNG) += arm_smccc_trng.o + obj-$(CONFIG_HW_RANDOM_CN10K) += cn10k-rng.o + obj-$(CONFIG_HW_RANDOM_POLARFIRE_SOC) += mpfs-rng.o + obj-$(CONFIG_HW_RANDOM_JH7110) += jh7110-trng.o ++obj-$(CONFIG_HW_RANDOM_PHYTIUM) += phytium-rng.o +diff --git a/drivers/char/ipmi/Kconfig b/drivers/char/ipmi/Kconfig +index f4adc6feb..fe3b159c1 100644 +--- a/drivers/char/ipmi/Kconfig ++++ b/drivers/char/ipmi/Kconfig +@@ -118,6 +118,27 @@ config ASPEED_KCS_IPMI_BMC + The driver implements the BMC side of the KCS contorller, it + provides the access of KCS IO space for BMC side. + ++config PHYTIUM_KCS_IPMI_BMC ++ depends on ARCH_PHYTIUM ++ select IPMI_KCS_BMC ++ select REGMAP_MMIO ++ tristate "PHYTIUM KCS IPMI BMC driver" ++ help ++ Provides a driver for the KCS (Keyboard Controller Style) IPMI ++ interface found on Phytium SOCs. ++ ++ The driver implements the BMC side of the KCS contorller, it ++ provides the access of KCS IO space for BMC side. ++ ++config PHYTIUM_BT_IPMI_BMC ++ depends on ARCH_PHYTIUM ++ depends on REGMAP && REGMAP_MMIO && MFD_SYSCON ++ tristate "PHYTIUM BT BMC driver" ++ help ++ Provides a driver for the BT (Block Transfer) interface found ++ on Phytium SOCs. The driver implements the BMC side of ++ the BT interface. ++ + config NPCM7XX_KCS_IPMI_BMC + depends on ARCH_NPCM || COMPILE_TEST + select IPMI_KCS_BMC +diff --git a/drivers/char/ipmi/Makefile b/drivers/char/ipmi/Makefile +index cb6138b8d..e0f2d90e1 100644 +--- a/drivers/char/ipmi/Makefile ++++ b/drivers/char/ipmi/Makefile +@@ -31,3 +31,5 @@ obj-$(CONFIG_ASPEED_KCS_IPMI_BMC) += kcs_bmc_aspeed.o + obj-$(CONFIG_NPCM7XX_KCS_IPMI_BMC) += kcs_bmc_npcm7xx.o + obj-$(CONFIG_IPMB_DEVICE_INTERFACE) += ipmb_dev_int.o + obj-$(CONFIG_SSIF_IPMI_BMC) += ssif_bmc.o ++obj-$(CONFIG_PHYTIUM_KCS_IPMI_BMC) += kcs_bmc_phytium.o ++obj-$(CONFIG_PHYTIUM_BT_IPMI_BMC) += bt_bmc_phytium.o +diff --git a/drivers/char/phytnetled/Kconfig b/drivers/char/phytnetled/Kconfig +new file mode 100644 +index 000000000..26691906d +--- /dev/null ++++ b/drivers/char/phytnetled/Kconfig +@@ -0,0 +1,13 @@ ++# SPDX-License-Identifier: GPL-2.0-only ++# ++# PCMCIA character device configuration ++# ++config PHYTNET_LED ++ tristate "Phytium mac led control module" ++ depends on PHYTMAC ++ depends on GPIO_PHYTIUM_PLAT ++ default m ++ help ++ If you have a network (Ethernet) controller of this type and ++ want to use it control port led say Y or M here. ++ +diff --git a/drivers/char/phytnetled/Makefile b/drivers/char/phytnetled/Makefile +new file mode 100644 +index 000000000..781bc90c1 +--- /dev/null ++++ b/drivers/char/phytnetled/Makefile +@@ -0,0 +1 @@ ++obj-$(CONFIG_PHYTNET_LED) += phytnet_led.o +\ No newline at end of file diff --git a/drivers/cpufreq/scpi-cpufreq.c b/drivers/cpufreq/scpi-cpufreq.c index d33be5698..989f99e26 100644 --- a/drivers/cpufreq/scpi-cpufreq.c @@ -4862,8 +4840,38 @@ index d33be5698..989f99e26 100644 return -EIO; return 0; +diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig +index 110e99b86..1cbc7b48a 100644 +--- a/drivers/edac/Kconfig ++++ b/drivers/edac/Kconfig +@@ -505,6 +505,13 @@ config EDAC_TI + help + Support for error detection and correction on the TI SoCs. + ++config EDAC_PHYTIUM ++ tristate "Phytium Pe220x SoC" ++ depends on (ARM64) ++ help ++ Support for error detection and correction on the ++ Phytium Pe220x family of SOCs. ++ + config EDAC_QCOM + tristate "QCOM EDAC Controller" + depends on ARCH_QCOM && QCOM_LLCC +diff --git a/drivers/edac/Makefile b/drivers/edac/Makefile +index 446364264..766afe9db 100644 +--- a/drivers/edac/Makefile ++++ b/drivers/edac/Makefile +@@ -82,6 +82,7 @@ obj-$(CONFIG_EDAC_ARMADA_XP) += armada_xp_edac.o + obj-$(CONFIG_EDAC_SYNOPSYS) += synopsys_edac.o + obj-$(CONFIG_EDAC_XGENE) += xgene_edac.o + obj-$(CONFIG_EDAC_TI) += ti_edac.o ++obj-$(CONFIG_EDAC_PHYTIUM) += phytium_edac.o + obj-$(CONFIG_EDAC_QCOM) += qcom_edac.o + obj-$(CONFIG_EDAC_ASPEED) += aspeed_edac.o + obj-$(CONFIG_EDAC_BLUEFIELD) += bluefield_edac.o diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c -index 87383c054..6a16007c6 100644 +index efa9698c8..8aa3cd001 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -51,6 +51,8 @@ static DEFINE_SPINLOCK(protocol_lock); @@ -4875,7 +4883,7 @@ index 87383c054..6a16007c6 100644 /* Track the unique id for the transfers for debug & profiling purpose */ static atomic_t transfer_last_id; -@@ -1030,6 +1032,7 @@ static int scmi_wait_for_reply(struct device *dev, const struct scmi_desc *desc, +@@ -1035,6 +1037,7 @@ static int scmi_wait_for_reply(struct device *dev, const struct scmi_desc *desc, struct scmi_xfer *xfer, unsigned int timeout_ms) { int ret = 0; @@ -4883,7 +4891,7 @@ index 87383c054..6a16007c6 100644 if (xfer->hdr.poll_completion) { /* -@@ -1045,7 +1048,10 @@ static int scmi_wait_for_reply(struct device *dev, const struct scmi_desc *desc, +@@ -1050,7 +1053,10 @@ static int scmi_wait_for_reply(struct device *dev, const struct scmi_desc *desc, spin_until_cond(scmi_xfer_done_no_timeout(cinfo, xfer, stop)); @@ -4895,7 +4903,7 @@ index 87383c054..6a16007c6 100644 dev_err(dev, "timed out in resp(caller: %pS) - polling\n", (void *)_RET_IP_); -@@ -1211,8 +1217,11 @@ static int do_xfer(const struct scmi_protocol_handle *ph, +@@ -1216,8 +1222,11 @@ static int do_xfer(const struct scmi_protocol_handle *ph, */ smp_mb(); @@ -4907,7 +4915,7 @@ index 87383c054..6a16007c6 100644 dev_dbg(dev, "Failed to send message %d\n", ret); return ret; } -@@ -1228,6 +1237,8 @@ static int do_xfer(const struct scmi_protocol_handle *ph, +@@ -1233,6 +1242,8 @@ static int do_xfer(const struct scmi_protocol_handle *ph, if (info->desc->ops->mark_txdone) info->desc->ops->mark_txdone(cinfo, ret, xfer); @@ -4917,10 +4925,10 @@ index 87383c054..6a16007c6 100644 xfer->hdr.protocol_id, xfer->hdr.seq, ret); diff --git a/drivers/firmware/arm_scmi/mailbox.c b/drivers/firmware/arm_scmi/mailbox.c -index b8d470417..1a1580a8b 100644 +index 8e513f70b..bd5a21fb6 100644 --- a/drivers/firmware/arm_scmi/mailbox.c +++ b/drivers/firmware/arm_scmi/mailbox.c -@@ -167,6 +167,7 @@ static int mailbox_chan_setup(struct scmi_chan_info *cinfo, struct device *dev, +@@ -169,6 +169,7 @@ static int mailbox_chan_setup(struct scmi_chan_info *cinfo, struct device *dev, struct mbox_client *cl; resource_size_t size; struct resource res; @@ -4928,12 +4936,12 @@ index b8d470417..1a1580a8b 100644 ret = mailbox_chan_validate(cdev, &a2p_rx_chan, &p2a_chan); if (ret) -@@ -226,6 +227,16 @@ static int mailbox_chan_setup(struct scmi_chan_info *cinfo, struct device *dev, +@@ -227,6 +228,15 @@ static int mailbox_chan_setup(struct scmi_chan_info *cinfo, struct device *dev, + return ret; } } - + ret = of_parse_phandle_with_args(cdev->of_node, "mboxes", -+ "#mbox-cells", tx ? 0 : p2a_chan, &args); ++ "#mbox-cells", tx ? 0 : p2a_chan, &args); + if (ret) { + dev_err(cdev, "failed to get SCMI %s mailbox\n", desc); + return ret; @@ -4941,10 +4949,87 @@ index b8d470417..1a1580a8b 100644 + + if (of_device_is_compatible(args.np, "phytium,mbox")) + cinfo->no_completion_irq = true; -+ + cinfo->transport_info = smbox; smbox->cinfo = cinfo; - +diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig +index ebd4e113d..f068798ef 100644 +--- a/drivers/gpio/Kconfig ++++ b/drivers/gpio/Kconfig +@@ -105,6 +105,10 @@ config GPIO_REGMAP + + # put drivers in the right section, in alphabetical order + ++# This symbol is selected by both MMIO and PCI expanders ++config GPIO_PHYTIUM_CORE ++ tristate ++ + # This symbol is selected by both I2C and SPI expanders + config GPIO_MAX730X + tristate +@@ -495,6 +499,27 @@ config GPIO_OMAP + help + Say yes here to enable GPIO support for TI OMAP SoCs. + ++config GPIO_PHYTIUM_PLAT ++ tristate "Phytium GPIO Platform support" ++ default y if ARCH_PHYTIUM ++ depends on ARM64 ++ select GPIO_PHYTIUM_CORE ++ select IRQ_DOMAIN ++ select GENERIC_IRQ_CHIP ++ select GPIOLIB_IRQCHIP ++ help ++ Say yes here to support the on-chip GPIO controller for the ++ Phytium SoC family. ++ ++config GPIO_PHYTIUM_SGPIO ++ tristate "Phytium SGPIO support" ++ default y if ARCH_PHYTIUM ++ depends on ARM64 ++ select IRQ_DOMAIN ++ select GENERIC_IRQ_CHIP ++ help ++ Say yes here to enable SGPIO support for Phytium SoCs. ++ + config GPIO_PL061 + tristate "PrimeCell PL061 GPIO support" + depends on ARM_AMBA +@@ -1680,6 +1705,19 @@ config GPIO_PCIE_IDIO_24 + Input filter control is not supported by this driver, and the input + filters are deactivated by this driver. + ++config GPIO_PHYTIUM_PCI ++ tristate "Phytium GPIO PCI support" ++ select GPIO_PHYTIUM_CORE ++ select IRQ_DOMAIN ++ select GENERIC_IRQ_CHIP ++ select GPIOLIB_IRQCHIP ++ help ++ Say Y here to support Phytium PCI GPIO controller on Px210 chipset. ++ An interrupt is generated when any of the inputs change state ++ (low to high or high to low). ++ ++ This driver can be used for Phytium Px210. ++ + config GPIO_RDC321X + tristate "RDC R-321x GPIO support" + select MFD_CORE +diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile +index eb73b5d63..1b4888e64 100644 +--- a/drivers/gpio/Makefile ++++ b/drivers/gpio/Makefile +@@ -125,6 +125,10 @@ obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf857x.o + obj-$(CONFIG_GPIO_PCH) += gpio-pch.o + obj-$(CONFIG_GPIO_PCIE_IDIO_24) += gpio-pcie-idio-24.o + obj-$(CONFIG_GPIO_PCI_IDIO_16) += gpio-pci-idio-16.o ++obj-$(CONFIG_GPIO_PHYTIUM_CORE) += gpio-phytium-core.o ++obj-$(CONFIG_GPIO_PHYTIUM_PCI) += gpio-phytium-pci.o ++obj-$(CONFIG_GPIO_PHYTIUM_PLAT) += gpio-phytium-platform.o ++obj-$(CONFIG_GPIO_PHYTIUM_SGPIO) += gpio-phytium-sgpio.o + obj-$(CONFIG_GPIO_PISOSR) += gpio-pisosr.o + obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o + obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o diff --git a/drivers/gpu/drm/amd/display/Kconfig b/drivers/gpu/drm/amd/display/Kconfig index 901d1961b..74d45d9ae 100644 --- a/drivers/gpu/drm/amd/display/Kconfig @@ -4958,6 +5043,124 @@ index 901d1961b..74d45d9ae 100644 help Choose this option if you want to use the new display engine support for AMDGPU. This adds required support for Vega and +diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig +index a4c361b66..4e63c7528 100644 +--- a/drivers/hwmon/Kconfig ++++ b/drivers/hwmon/Kconfig +@@ -414,6 +414,15 @@ config SENSORS_ASPEED + This driver can also be built as a module. If so, the module + will be called aspeed_pwm_tacho. + ++config SENSORS_PHYTIUM ++ tristate "Phytium Fan tach and capture counter driver" ++ help ++ This driver provides support for Phytium Fan Tacho and capture ++ counter controllers. ++ ++ This driver can also be built as a module. If so, the module ++ will be called tacho-phytium. ++ + config SENSORS_ATXP1 + tristate "Attansic ATXP1 VID controller" + depends on I2C +diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile +index 4ac9452b5..2e948eae4 100644 +--- a/drivers/hwmon/Makefile ++++ b/drivers/hwmon/Makefile +@@ -176,6 +176,7 @@ obj-$(CONFIG_SENSORS_OXP) += oxp-sensors.o + obj-$(CONFIG_SENSORS_PC87360) += pc87360.o + obj-$(CONFIG_SENSORS_PC87427) += pc87427.o + obj-$(CONFIG_SENSORS_PCF8591) += pcf8591.o ++obj-$(CONFIG_SENSORS_PHYTIUM) += tacho-phytium.o + obj-$(CONFIG_SENSORS_POWR1220) += powr1220.o + obj-$(CONFIG_SENSORS_PWM_FAN) += pwm-fan.o + obj-$(CONFIG_SENSORS_RASPBERRYPI_HWMON) += raspberrypi-hwmon.o +diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig +index 3874d15b0..f4690adb5 100644 +--- a/drivers/hwspinlock/Kconfig ++++ b/drivers/hwspinlock/Kconfig +@@ -17,6 +17,15 @@ config HWSPINLOCK_OMAP + + If unsure, say N. + ++config HWSPINLOCK_PHYTIUM ++ tristate "Phytium Hardware Spinlock device" ++ depends on HWSPINLOCK ++ depends on ARCH_PHYTIUM ++ help ++ Say y here to support the Phytium Hardware Spinlock device. ++ ++ If unsure, say N. ++ + config HWSPINLOCK_QCOM + tristate "Qualcomm Hardware Spinlock device" + depends on ARCH_QCOM || COMPILE_TEST +diff --git a/drivers/hwspinlock/Makefile b/drivers/hwspinlock/Makefile +index a0f16c9aa..d3ef14bc5 100644 +--- a/drivers/hwspinlock/Makefile ++++ b/drivers/hwspinlock/Makefile +@@ -5,6 +5,7 @@ + + obj-$(CONFIG_HWSPINLOCK) += hwspinlock_core.o + obj-$(CONFIG_HWSPINLOCK_OMAP) += omap_hwspinlock.o ++obj-$(CONFIG_HWSPINLOCK_PHYTIUM) += phytium_hwspinlock.o + obj-$(CONFIG_HWSPINLOCK_QCOM) += qcom_hwspinlock.o + obj-$(CONFIG_HWSPINLOCK_SPRD) += sprd_hwspinlock.o + obj-$(CONFIG_HWSPINLOCK_STM32) += stm32_hwspinlock.o +diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig +index 982007a11..78eaafffe 100644 +--- a/drivers/i2c/busses/Kconfig ++++ b/drivers/i2c/busses/Kconfig +@@ -940,6 +940,34 @@ config I2C_PCA_PLATFORM + This driver can also be built as a module. If so, the module + will be called i2c-pca-platform. + ++config I2C_PHYTIUM_CORE ++ tristate ++ ++config I2C_PHYTIUM_PCI ++ tristate "Phytium I2C PCI" ++ depends on PCI && ARCH_PHYTIUM ++ select I2C_PHYTIUM_CORE ++ select I2C_SMBUS ++ help ++ If you say yes to this option, support will be included for the ++ Phytium I2C adapter. Only master mode is supported. ++ ++ This driver can also be built as a module. If so, the module ++ will be called i2c-phytium-pci. ++ ++config I2C_PHYTIUM_PLATFORM ++ tristate "Phytium I2C Platform" ++ depends on (ACPI && COMMON_CLK) || !ACPI ++ select I2C_SLAVE ++ select I2C_PHYTIUM_CORE ++ select I2C_SMBUS ++ help ++ If you say yes to this option, support will be included for the ++ Phytium I2C adapter. Only master mode is supported. ++ ++ This driver can also be built as a module. If so, the module ++ will be called i2c-phytium-platform. ++ + config I2C_PNX + tristate "I2C bus support for Philips PNX and NXP LPC targets" + depends on ARCH_LPC32XX || COMPILE_TEST +diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile +index 9be9fdb07..9d4fa0249 100644 +--- a/drivers/i2c/busses/Makefile ++++ b/drivers/i2c/busses/Makefile +@@ -93,6 +93,10 @@ obj-$(CONFIG_I2C_OWL) += i2c-owl.o + obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi-core.o i2c-pasemi-pci.o + obj-$(CONFIG_I2C_APPLE) += i2c-pasemi-core.o i2c-pasemi-platform.o + obj-$(CONFIG_I2C_PCA_PLATFORM) += i2c-pca-platform.o ++obj-$(CONFIG_I2C_PHYTIUM_CORE) += i2c-phytium-core.o ++i2c-phytium-core-objs := i2c-phytium-common.o i2c-phytium-master.o i2c-phytium-slave.o ++obj-$(CONFIG_I2C_PHYTIUM_PCI) += i2c-phytium-pci.o ++obj-$(CONFIG_I2C_PHYTIUM_PLATFORM) += i2c-phytium-platform.o + obj-$(CONFIG_I2C_PNX) += i2c-pnx.o + obj-$(CONFIG_I2C_PXA) += i2c-pxa.o + obj-$(CONFIG_I2C_PXA_PCI) += i2c-pxa-pci.o diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 855b698e9..6ab38151c 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c @@ -5106,7 +5309,7 @@ index 000000000..61fa62ff1 + +#endif diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c -index 0e9ff5500..826f2877d 100644 +index c073ee74e..8d36964d6 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -5,6 +5,8 @@ @@ -5242,7 +5445,7 @@ index 0e9ff5500..826f2877d 100644 NULL, }; ATTRIBUTE_GROUPS(i3c_device); -@@ -1521,9 +1624,10 @@ i3c_master_register_new_i3c_devs(struct i3c_master_controller *master) +@@ -1640,9 +1743,10 @@ i3c_master_register_new_i3c_devs(struct i3c_master_controller *master) dev_set_name(&desc->dev->dev, "%d-%llx", master->bus.id, desc->info.pid); @@ -5255,7 +5458,7 @@ index 0e9ff5500..826f2877d 100644 ret = device_register(&desc->dev->dev); if (ret) { dev_err(&master->dev, -@@ -2148,6 +2252,183 @@ static int of_populate_i3c_bus(struct i3c_master_controller *master) +@@ -2287,6 +2391,183 @@ static int of_populate_i3c_bus(struct i3c_master_controller *master) return 0; } @@ -5439,7 +5642,7 @@ index 0e9ff5500..826f2877d 100644 static int i3c_master_i2c_adapter_xfer(struct i2c_adapter *adap, struct i2c_msg *xfers, int nxfers) { -@@ -2311,7 +2592,7 @@ static int i3c_master_i2c_adapter_init(struct i3c_master_controller *master) +@@ -2450,7 +2731,7 @@ static int i3c_master_i2c_adapter_init(struct i3c_master_controller *master) adap->dev.parent = master->dev.parent; adap->owner = master->dev.parent->driver->owner; adap->algo = &i3c_master_i2c_algo; @@ -5448,7 +5651,7 @@ index 0e9ff5500..826f2877d 100644 /* FIXME: Should we allow i3c masters to override these values? */ adap->timeout = 1000; -@@ -2616,6 +2897,7 @@ int i3c_master_register(struct i3c_master_controller *master, +@@ -2755,6 +3036,7 @@ int i3c_master_register(struct i3c_master_controller *master, master->dev.parent = parent; master->dev.of_node = of_node_get(parent->of_node); @@ -5456,7 +5659,7 @@ index 0e9ff5500..826f2877d 100644 master->dev.bus = &i3c_bus_type; master->dev.type = &i3c_masterdev_type; master->dev.release = i3c_masterdev_release; -@@ -2634,7 +2916,9 @@ int i3c_master_register(struct i3c_master_controller *master, +@@ -2773,7 +3055,9 @@ int i3c_master_register(struct i3c_master_controller *master, ret = of_populate_i3c_bus(master); if (ret) goto err_put_dev; @@ -5494,7 +5697,7 @@ index 3e9796016..3819a4dab 100644 obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci/ +obj-$(CONFIG_PHYTIUM_I3C_MASTER) += i3c-master-phytium.o diff --git a/drivers/i3c/master/i3c-master-cdns.c b/drivers/i3c/master/i3c-master-cdns.c -index fa5aaaf44..925deb746 100644 +index d8426847c..64eba655e 100644 --- a/drivers/i3c/master/i3c-master-cdns.c +++ b/drivers/i3c/master/i3c-master-cdns.c @@ -393,6 +393,7 @@ struct cdns_i3c_xfer { @@ -7418,8 +7621,110 @@ index 000000000..50f3f6c98 +MODULE_DESCRIPTION("Phytium I3C master driver"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:phytium-i3c-master"); +diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig +index 6dee3b686..1b26ae3f2 100644 +--- a/drivers/iio/adc/Kconfig ++++ b/drivers/iio/adc/Kconfig +@@ -886,6 +886,18 @@ config PALMAS_GPADC + is used in smartphones and tablets and supports a 16 channel + general purpose ADC. + ++config PHYTIUM_ADC ++ tristate "Phytium ADC driver" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ select IIO_BUFFER ++ select IIO_TRIGGERED_BUFFER ++ help ++ Say yes here to build support for Phytium analog to digital ++ converters (ADC). ++ ++ To compile this driver as a module, choose M here: the module ++ will be called phytium-adc. ++ + config QCOM_VADC_COMMON + tristate + +diff --git a/drivers/iio/adc/Makefile b/drivers/iio/adc/Makefile +index 2facf9793..5b411b68b 100644 +--- a/drivers/iio/adc/Makefile ++++ b/drivers/iio/adc/Makefile +@@ -82,6 +82,7 @@ obj-$(CONFIG_MXS_LRADC_ADC) += mxs-lradc-adc.o + obj-$(CONFIG_NAU7802) += nau7802.o + obj-$(CONFIG_NPCM_ADC) += npcm_adc.o + obj-$(CONFIG_PALMAS_GPADC) += palmas_gpadc.o ++obj-$(CONFIG_PHYTIUM_ADC) += phytium-adc.o + obj-$(CONFIG_QCOM_SPMI_ADC5) += qcom-spmi-adc5.o + obj-$(CONFIG_QCOM_SPMI_IADC) += qcom-spmi-iadc.o + obj-$(CONFIG_QCOM_SPMI_RRADC) += qcom-spmi-rradc.o +diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig +index 1d0c5f4c0..bd943d967 100644 +--- a/drivers/input/keyboard/Kconfig ++++ b/drivers/input/keyboard/Kconfig +@@ -809,4 +809,15 @@ config KEYBOARD_CYPRESS_SF + To compile this driver as a module, choose M here: the + module will be called cypress-sf. + ++config KEYBOARD_PHYTIUM ++ tristate "Phytium keypad support" ++ depends on ARCH_PHYTIUM ++ select INPUT_MATRIXKMAP ++ help ++ Say Y here if you want to enable support for Phytium keypad ++ port. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called phytium_keypad. ++ + endif +diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile +index aecef00c5..43ade5a0d 100644 +--- a/drivers/input/keyboard/Makefile ++++ b/drivers/input/keyboard/Makefile +@@ -51,6 +51,7 @@ obj-$(CONFIG_KEYBOARD_NSPIRE) += nspire-keypad.o + obj-$(CONFIG_KEYBOARD_OMAP) += omap-keypad.o + obj-$(CONFIG_KEYBOARD_OMAP4) += omap4-keypad.o + obj-$(CONFIG_KEYBOARD_OPENCORES) += opencores-kbd.o ++obj-$(CONFIG_KEYBOARD_PHYTIUM) += phytium-keypad.o + obj-$(CONFIG_KEYBOARD_PINEPHONE) += pinephone-keyboard.o + obj-$(CONFIG_KEYBOARD_PMIC8XXX) += pmic8xxx-keypad.o + obj-$(CONFIG_KEYBOARD_PXA27x) += pxa27x_keypad.o +diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig +index 17edc1597..50b5da6b6 100644 +--- a/drivers/input/serio/Kconfig ++++ b/drivers/input/serio/Kconfig +@@ -40,6 +40,18 @@ config SERIO_I8042 + To compile this driver as a module, choose M here: the + module will be called i8042. + ++config SERIO_PHYTIUM_PS2 ++ depends on SERIO ++ tristate "PHYTIUM PS/2 (keyboard and mouse)" ++ default y if ARCH_PHYTIUM ++ depends on PCI ++ help ++ This selects support for the PS/2 Host Controller on ++ Phytium SoCs. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called phytium-ps2. ++ + config SERIO_SERPORT + tristate "Serial port line discipline" + default y +diff --git a/drivers/input/serio/Makefile b/drivers/input/serio/Makefile +index 6d97bad7b..958591822 100644 +--- a/drivers/input/serio/Makefile ++++ b/drivers/input/serio/Makefile +@@ -7,6 +7,7 @@ + + obj-$(CONFIG_SERIO) += serio.o + obj-$(CONFIG_SERIO_I8042) += i8042.o ++obj-$(CONFIG_SERIO_PHYTIUM_PS2) += phytium-ps2.o + obj-$(CONFIG_SERIO_PARKBD) += parkbd.o + obj-$(CONFIG_SERIO_SERPORT) += serport.o + obj-$(CONFIG_SERIO_CT82C710) += ct82c710.o diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c -index bd0a596f9..6b96ac3b9 100644 +index 6cecbac0e..8f1403884 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -3154,6 +3154,13 @@ static void arm_smmu_write_msi_msg(struct msi_desc *desc, struct msi_msg *msg) @@ -7437,7 +7742,7 @@ index bd0a596f9..6b96ac3b9 100644 writel_relaxed(msg->data, smmu->base + cfg[1]); writel_relaxed(ARM_SMMU_MEMATTR_DEVICE_nGnRE, smmu->base + cfg[2]); @@ -3196,11 +3203,53 @@ static void arm_smmu_setup_msis(struct arm_smmu_device *smmu) - devm_add_action(dev, arm_smmu_free_msis, dev); + devm_add_action_or_reset(dev, arm_smmu_free_msis, dev); } -static void arm_smmu_setup_unique_irqs(struct arm_smmu_device *smmu) @@ -7588,9 +7893,9 @@ index bd0a596f9..6b96ac3b9 100644 - ret = arm_smmu_device_reset(smmu, bypass); + ret = arm_smmu_device_reset(smmu, false); if (ret) - return ret; + goto err_disable; -@@ -3928,6 +3996,16 @@ static const struct of_device_id arm_smmu_of_match[] = { +@@ -3935,6 +4003,16 @@ static const struct of_device_id arm_smmu_of_match[] = { }; MODULE_DEVICE_TABLE(of, arm_smmu_of_match); @@ -7607,7 +7912,7 @@ index bd0a596f9..6b96ac3b9 100644 static void arm_smmu_driver_unregister(struct platform_driver *drv) { arm_smmu_sva_notifier_synchronize(); -@@ -3938,6 +4016,7 @@ static struct platform_driver arm_smmu_driver = { +@@ -3945,6 +4023,7 @@ static struct platform_driver arm_smmu_driver = { .driver = { .name = "arm-smmu-v3", .of_match_table = arm_smmu_of_match, @@ -7629,10 +7934,10 @@ index 9915850dd..07f2b0941 100644 struct arm_smmu_stream { diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c b/drivers/iommu/arm/arm-smmu/arm-smmu.c -index d6d1a2a55..ee910444b 100644 +index 42c5012ba..fb69d852b 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c -@@ -1363,6 +1363,19 @@ static struct iommu_device *arm_smmu_probe_device(struct device *dev) +@@ -1374,6 +1374,19 @@ static struct iommu_device *arm_smmu_probe_device(struct device *dev) return ERR_PTR(-ENODEV); } @@ -7676,7 +7981,7 @@ index 703fd5817..723532e24 100644 #define ARM_SMMU_GR0_sCR0 0x0 #define ARM_SMMU_sCR0_VMID16EN BIT(31) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index 3a67e6362..3a7e65742 100644 +index 3f1029c08..a998f13ad 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -32,6 +32,9 @@ @@ -7725,11 +8030,58 @@ index 3a67e6362..3a7e65742 100644 if (pt) iommu_set_default_passthrough(true); else +diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig +index e7b736800..160a670f5 100644 +--- a/drivers/irqchip/Kconfig ++++ b/drivers/irqchip/Kconfig +@@ -56,6 +56,12 @@ config ARM_GIC_V3_ITS_FSL_MC + depends on FSL_MC_BUS + default ARM_GIC_V3_ITS + ++config ARM_GIC_PHYTIUM_2500 ++ bool ++ select IRQ_DOMAIN_HIERARCHY ++ select PARTITION_PERCPU ++ select GENERIC_IRQ_EFFECTIVE_AFF_MASK ++ + config ARM_NVIC + bool + select IRQ_DOMAIN_HIERARCHY +@@ -679,4 +685,12 @@ config SUNPLUS_SP7021_INTC + chained controller, routing all interrupt source in P-Chip to + the primary controller on C-Chip. + ++config PHYTIUM_IXIC ++ bool "Phytium SoC PCI Legacy Interrupt Controller" ++ depends on ARCH_PHYTIUM ++ select IRQ_DOMAIN ++ select IRQ_DOMAIN_HIERARCHY ++ help ++ This enables support PCI Legacy Interrupt on Phytium SoC. ++ + endmenu +diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile +index ffd945fe7..7b04778db 100644 +--- a/drivers/irqchip/Makefile ++++ b/drivers/irqchip/Makefile +@@ -34,6 +34,7 @@ obj-$(CONFIG_ARM_GIC_V3) += irq-gic-v3.o irq-gic-v3-mbi.o irq-gic-common.o + obj-$(CONFIG_ARM_GIC_V3_ITS) += irq-gic-v3-its.o irq-gic-v3-its-platform-msi.o irq-gic-v4.o + obj-$(CONFIG_ARM_GIC_V3_ITS_PCI) += irq-gic-v3-its-pci-msi.o + obj-$(CONFIG_ARM_GIC_V3_ITS_FSL_MC) += irq-gic-v3-its-fsl-mc-msi.o ++obj-$(CONFIG_ARM_GIC_PHYTIUM_2500) += irq-gic-phytium-2500.o irq-gic-phytium-2500-its.o + obj-$(CONFIG_PARTITION_PERCPU) += irq-partition-percpu.o + obj-$(CONFIG_HISILICON_IRQ_MBIGEN) += irq-mbigen.o + obj-$(CONFIG_ARM_NVIC) += irq-nvic.o +@@ -120,3 +121,4 @@ obj-$(CONFIG_IRQ_IDT3243X) += irq-idt3243x.o + obj-$(CONFIG_APPLE_AIC) += irq-apple-aic.o + obj-$(CONFIG_MCHP_EIC) += irq-mchp-eic.o + obj-$(CONFIG_SUNPLUS_SP7021_INTC) += irq-sp7021-intc.o ++obj-$(CONFIG_PHYTIUM_IXIC) += irq-phytium-ixic.o diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c -index 676c9250d..6005e1bad 100644 +index a1934fe4a..7515e31b1 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c -@@ -1730,7 +1730,8 @@ static void its_irq_compose_msi_msg(struct irq_data *d, struct msi_msg *msg) +@@ -1736,7 +1736,8 @@ static void its_irq_compose_msi_msg(struct irq_data *d, struct msi_msg *msg) msg->address_hi = upper_32_bits(addr); msg->data = its_get_event_id(d); @@ -7739,7 +8091,7 @@ index 676c9250d..6005e1bad 100644 } static int its_irq_set_irqchip_state(struct irq_data *d, -@@ -4893,6 +4894,7 @@ static void its_restore_enable(void) +@@ -4878,6 +4879,7 @@ static void its_restore_enable(void) { struct its_node *its; int ret; @@ -7747,7 +8099,7 @@ index 676c9250d..6005e1bad 100644 raw_spin_lock(&its_lock); list_for_each_entry(its, &its_nodes, entry) { -@@ -4946,6 +4948,23 @@ static void its_restore_enable(void) +@@ -4931,6 +4933,23 @@ static void its_restore_enable(void) GITS_TYPER_HCC(gic_read_typer(base + GITS_TYPER))) its_cpu_init_collection(its); } @@ -7771,11 +8123,128 @@ index 676c9250d..6005e1bad 100644 raw_spin_unlock(&its_lock); } +diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig +index bc2e265cb..771f8fabd 100644 +--- a/drivers/mailbox/Kconfig ++++ b/drivers/mailbox/Kconfig +@@ -41,6 +41,15 @@ config IMX_MBOX + help + Mailbox implementation for i.MX Messaging Unit (MU). + ++config PHYTIUM_MBOX ++ tristate "Phytium SoC Mailbox Support" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ help ++ Mailbox driver implementation for the Phytium platform. It is used ++ to send message between application processors and on-chip management ++ firmware. Say Y here if you want to build this mailbox controller ++ driver. ++ + config PLATFORM_MHU + tristate "Platform MHU Mailbox" + depends on OF +diff --git a/drivers/mailbox/Makefile b/drivers/mailbox/Makefile +index fc9376117..487f62094 100644 +--- a/drivers/mailbox/Makefile ++++ b/drivers/mailbox/Makefile +@@ -62,3 +62,5 @@ obj-$(CONFIG_SPRD_MBOX) += sprd-mailbox.o + obj-$(CONFIG_QCOM_IPCC) += qcom-ipcc.o + + obj-$(CONFIG_APPLE_MAILBOX) += apple-mailbox.o ++ ++obj-$(CONFIG_PHYTIUM_MBOX) += phytium_mailbox.o +diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig +index 68d71b4b5..43e552602 100644 +--- a/drivers/mfd/Kconfig ++++ b/drivers/mfd/Kconfig +@@ -1107,6 +1107,21 @@ config PCF50633_GPIO + Say yes here if you want to include support GPIO for pins on + the PCF50633 chip. + ++config MFD_PHYTIUM_I2S_LSD ++ bool "PHYTIUM Px210 I2S LSD MFD driver" ++ depends on (PCI && ARCH_PHYTIUM) ++ select MFD_CORE ++ help ++ This enables support for the Phytium Px210 LSD I2S controller. ++ ++config MFD_PHYTIUM_I2S_MMD ++ bool "PHYTIUM Px210 I2S MMD MFD driver" ++ depends on (PCI && ARCH_PHYTIUM) ++ select MFD_CORE ++ help ++ This enables support for the Phytium Px210 MMD I2S controllers ++ for Display Port. ++ + config MFD_PM8XXX + tristate "Qualcomm PM8xxx PMIC chips driver" + depends on (ARM || HEXAGON || COMPILE_TEST) +diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile +index db1ba39de..392992127 100644 +--- a/drivers/mfd/Makefile ++++ b/drivers/mfd/Makefile +@@ -282,3 +282,6 @@ obj-$(CONFIG_MFD_ATC260X_I2C) += atc260x-i2c.o + + obj-$(CONFIG_MFD_RSMU_I2C) += rsmu_i2c.o rsmu_core.o + obj-$(CONFIG_MFD_RSMU_SPI) += rsmu_spi.o rsmu_core.o ++ ++obj-$(CONFIG_MFD_PHYTIUM_I2S_LSD) += phytium_px210_i2s_lsd.o ++obj-$(CONFIG_MFD_PHYTIUM_I2S_MMD) += phytium_px210_i2s_mmd.o +diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig +index bc7e2ad37..a31cacc65 100644 +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -1071,3 +1071,31 @@ config MMC_LITEX + module will be called litex_mmc. + + If unsure, say N. ++ ++config MMC_PHYTIUM_SDCI ++ tristate "Phytium SD Host Controller support" ++ depends on ARM64 ++ help ++ This selects support for the Phytium SD Host Controller ++ ++config MMC_PHYTIUM_MCI_PCI ++ tristate "Phytium PCI MultiMedia Card Interface support" ++ depends on ARCH_PHYTIUM ++ default y if ARCH_PHYTIUM ++ help ++ This selects support for the PCI MultiMedia Card Interface on Phytium ++ Px210 chipset. ++ ++ If you have a controller with this interface, say Y or M here. ++ ++ If unsure, say N. ++ ++config MMC_PHYTIUM_MCI_PLTFM ++ tristate "Phytium MultiMedia Card Interface support" ++ depends on ARCH_PHYTIUM && OF ++ default y if ARCH_PHYTIUM ++ help ++ This selects support for the MultiMedia Card Interface on Phytium SoCs. ++ If you have a controller with this interface, say Y or M here. ++ ++ If unsure, say N. +diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile +index a693fa3d3..129010f63 100644 +--- a/drivers/mmc/host/Makefile ++++ b/drivers/mmc/host/Makefile +@@ -70,6 +70,9 @@ obj-$(CONFIG_MMC_USDHI6ROL0) += usdhi6rol0.o + obj-$(CONFIG_MMC_TOSHIBA_PCI) += toshsd.o + obj-$(CONFIG_MMC_BCM2835) += bcm2835.o + obj-$(CONFIG_MMC_OWL) += owl-mmc.o ++obj-$(CONFIG_MMC_PHYTIUM_SDCI) += phytium-sdci.o ++obj-$(CONFIG_MMC_PHYTIUM_MCI_PCI) += phytium-mci-pci.o phytium-mci.o ++obj-$(CONFIG_MMC_PHYTIUM_MCI_PLTFM) += phytium-mci-plat.o phytium-mci.o + + obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o + obj-$(CONFIG_MMC_REALTEK_USB) += rtsx_usb_sdmmc.o diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c -index 9bd661be3..a1911ac53 100644 +index 97ca2a897..c5a59c488 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c -@@ -742,7 +742,8 @@ int add_mtd_device(struct mtd_info *mtd) +@@ -743,7 +743,8 @@ int add_mtd_device(struct mtd_info *mtd) dev_set_name(&mtd->dev, "mtd%d", i); dev_set_drvdata(&mtd->dev, mtd); mtd_check_of_node(mtd); @@ -7785,7 +8254,7 @@ index 9bd661be3..a1911ac53 100644 error = device_register(&mtd->dev); if (error) { put_device(&mtd->dev); -@@ -903,7 +904,8 @@ static struct nvmem_device *mtd_otp_nvmem_register(struct mtd_info *mtd, +@@ -905,7 +906,8 @@ static struct nvmem_device *mtd_otp_nvmem_register(struct mtd_info *mtd, config.ignore_wp = true; config.reg_read = reg_read; config.size = size; @@ -7795,7 +8264,7 @@ index 9bd661be3..a1911ac53 100644 config.priv = mtd; nvmem = nvmem_register(&config); -@@ -911,7 +913,8 @@ static struct nvmem_device *mtd_otp_nvmem_register(struct mtd_info *mtd, +@@ -913,7 +915,8 @@ static struct nvmem_device *mtd_otp_nvmem_register(struct mtd_info *mtd, if (IS_ERR(nvmem) && PTR_ERR(nvmem) == -EOPNOTSUPP) nvmem = NULL; @@ -7918,6 +8387,50 @@ index 23483db8f..17a44b31c 100644 ret = mtd_part_of_parse(master, &pparts); } else { pr_debug("%s: parsing partitions %s\n", master->name, +diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig +index 614257308..3d5730ead 100644 +--- a/drivers/mtd/nand/raw/Kconfig ++++ b/drivers/mtd/nand/raw/Kconfig +@@ -150,6 +150,25 @@ config MTD_NAND_ORION + No board specific support is done by this driver, each board + must advertise a platform_device for the driver to attach. + ++config MTD_NAND_PHYTIUM ++ tristate ++ ++config MTD_NAND_PHYTIUM_PCI ++ tristate "Support Phytium NAND controller as a PCI device" ++ select MTD_NAND_PHYTIUM ++ depends on PCI ++ help ++ Enable the driver for NAND flash controller of Phytium Px210 chipset, ++ using the Phytium NAND controller core. ++ ++config MTD_NAND_PHYTIUM_PLAT ++ tristate "Support Phytium NAND controller as a platform device" ++ select MTD_NAND_PHYTIUM ++ depends on ARCH_PHYTIUM ++ help ++ Enable the driver for NAND flash controller of Phytium CPU chipset, ++ using the Phytium NAND controller core. ++ + config MTD_NAND_MARVELL + tristate "Marvell EBU NAND controller" + depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \ +diff --git a/drivers/mtd/nand/raw/Makefile b/drivers/mtd/nand/raw/Makefile +index 25120a4af..0898acbe1 100644 +--- a/drivers/mtd/nand/raw/Makefile ++++ b/drivers/mtd/nand/raw/Makefile +@@ -57,6 +57,9 @@ obj-$(CONFIG_MTD_NAND_INTEL_LGM) += intel-nand-controller.o + obj-$(CONFIG_MTD_NAND_ROCKCHIP) += rockchip-nand-controller.o + obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-nand-controller.o + obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o ++obj-$(CONFIG_MTD_NAND_PHYTIUM) += phytium_nand.o ++obj-$(CONFIG_MTD_NAND_PHYTIUM_PCI) += phytium_nand_pci.o ++obj-$(CONFIG_MTD_NAND_PHYTIUM_PLAT) += phytium_nand_plat.o + + nand-objs := nand_base.o nand_legacy.o nand_bbt.o nand_timings.o nand_ids.o + nand-objs += nand_onfi.o diff --git a/drivers/mtd/parsers/Kconfig b/drivers/mtd/parsers/Kconfig index 60738edcd..ae1870d27 100644 --- a/drivers/mtd/parsers/Kconfig @@ -8223,7 +8736,7 @@ index 9217379b9..36252b89e 100644 extern const struct attribute_group *spi_nor_sysfs_groups[]; diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h -index 78c972bb1..3a5441dcc 100644 +index 9fb5a18e0..7c50f571f 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -85,6 +85,7 @@ @@ -8358,11 +8871,11 @@ index 78c972bb1..3a5441dcc 100644 struct clk *rx_clk; struct clk *tsu_clk; struct net_device *dev; -+ struct ncsi_dev *ndev; ++ struct ncsi_dev *ndev; + /* Protects hw_stats and ethtool_stats */ + spinlock_t stats_lock; union { - struct macb_stats macb; - struct gem_stats gem; -@@ -1282,6 +1337,10 @@ struct macb { +@@ -1284,6 +1339,10 @@ struct macb { struct phylink_config phylink_config; struct phylink_pcs phylink_usx_pcs; struct phylink_pcs phylink_sgmii_pcs; @@ -8373,7 +8886,7 @@ index 78c972bb1..3a5441dcc 100644 u32 caps; unsigned int dma_burst_length; -@@ -1330,6 +1389,8 @@ struct macb { +@@ -1332,6 +1391,8 @@ struct macb { struct macb_pm_data pm_data; const struct macb_usrio_config *usrio; @@ -8383,7 +8896,7 @@ index 78c972bb1..3a5441dcc 100644 #ifdef CONFIG_MACB_USE_HWSTAMP diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index b940dcd3a..683d2095c 100644 +index 4325d0ace..e71ebbf05 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -26,6 +26,7 @@ @@ -8873,7 +9386,7 @@ index b940dcd3a..683d2095c 100644 bp->phylink = phylink_create(&bp->phylink_config, bp->pdev->dev.fwnode, bp->phy_interface, &macb_phylink_ops); if (IS_ERR(bp->phylink)) { -@@ -1316,6 +1585,7 @@ static void gem_rx_refill(struct macb_queue *queue) +@@ -1324,6 +1593,7 @@ static void gem_rx_refill(struct macb_queue *queue) /* Make hw descriptor updates visible to CPU */ rmb(); @@ -8881,7 +9394,7 @@ index b940dcd3a..683d2095c 100644 desc = macb_rx_desc(queue, entry); if (!queue->rx_skbuff[entry]) { -@@ -1354,7 +1624,6 @@ static void gem_rx_refill(struct macb_queue *queue) +@@ -1362,7 +1632,6 @@ static void gem_rx_refill(struct macb_queue *queue) dma_wmb(); desc->addr &= ~MACB_BIT(RX_USED); } @@ -8889,7 +9402,7 @@ index b940dcd3a..683d2095c 100644 } /* Make descriptor updates visible to hardware */ -@@ -2473,27 +2742,48 @@ static void macb_free_rx_buffers(struct macb *bp) +@@ -2483,27 +2752,48 @@ static void macb_free_rx_buffers(struct macb *bp) static void macb_free_consistent(struct macb *bp) { @@ -8948,7 +9461,7 @@ index b940dcd3a..683d2095c 100644 } } -@@ -2533,17 +2823,87 @@ static int macb_alloc_rx_buffers(struct macb *bp) +@@ -2543,17 +2833,87 @@ static int macb_alloc_rx_buffers(struct macb *bp) return 0; } @@ -9040,7 +9553,7 @@ index b940dcd3a..683d2095c 100644 if (!queue->tx_ring) goto out_err; netdev_dbg(bp->dev, -@@ -2552,13 +2912,12 @@ static int macb_alloc_consistent(struct macb *bp) +@@ -2562,13 +2922,12 @@ static int macb_alloc_consistent(struct macb *bp) queue->tx_ring); size = bp->tx_ring_size * sizeof(struct macb_tx_skb); @@ -9057,7 +9570,7 @@ index b940dcd3a..683d2095c 100644 if (!queue->rx_ring) goto out_err; netdev_dbg(bp->dev, -@@ -2592,6 +2951,15 @@ static void gem_init_rings(struct macb *bp) +@@ -2602,6 +2961,15 @@ static void gem_init_rings(struct macb *bp) queue->tx_head = 0; queue->tx_tail = 0; @@ -9073,7 +9586,7 @@ index b940dcd3a..683d2095c 100644 queue->rx_tail = 0; queue->rx_prepared_head = 0; -@@ -2768,6 +3136,46 @@ static void macb_configure_dma(struct macb *bp) +@@ -2778,6 +3146,46 @@ static void macb_configure_dma(struct macb *bp) } } @@ -9120,7 +9633,7 @@ index b940dcd3a..683d2095c 100644 static void macb_init_hw(struct macb *bp) { u32 config; -@@ -2796,11 +3204,24 @@ static void macb_init_hw(struct macb *bp) +@@ -2806,11 +3214,24 @@ static void macb_init_hw(struct macb *bp) if (bp->caps & MACB_CAPS_JUMBO) bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK; @@ -9149,7 +9662,7 @@ index b940dcd3a..683d2095c 100644 } /* The hash address register is 64 bits long and takes up two -@@ -2924,7 +3345,10 @@ static void macb_set_rx_mode(struct net_device *dev) +@@ -2934,7 +3355,10 @@ static void macb_set_rx_mode(struct net_device *dev) static int macb_open(struct net_device *dev) { @@ -9161,7 +9674,7 @@ index b940dcd3a..683d2095c 100644 struct macb *bp = netdev_priv(dev); struct macb_queue *queue; unsigned int q; -@@ -2951,6 +3375,7 @@ static int macb_open(struct net_device *dev) +@@ -2961,6 +3385,7 @@ static int macb_open(struct net_device *dev) napi_enable(&queue->napi_tx); } @@ -9169,7 +9682,7 @@ index b940dcd3a..683d2095c 100644 macb_init_hw(bp); err = phy_power_on(bp->sgmii_phy); -@@ -3884,6 +4309,8 @@ static const struct net_device_ops macb_netdev_ops = { +@@ -3899,6 +4324,8 @@ static const struct net_device_ops macb_netdev_ops = { #endif .ndo_set_features = macb_set_features, .ndo_features_check = macb_features_check, @@ -9178,7 +9691,7 @@ index b940dcd3a..683d2095c 100644 }; /* Configure peripheral capabilities according to device tree -@@ -4048,6 +4475,97 @@ static int macb_clk_init(struct platform_device *pdev, struct clk **pclk, +@@ -4063,6 +4490,97 @@ static int macb_clk_init(struct platform_device *pdev, struct clk **pclk, return err; } @@ -9276,7 +9789,7 @@ index b940dcd3a..683d2095c 100644 static int macb_init(struct platform_device *pdev) { struct net_device *dev = platform_get_drvdata(pdev); -@@ -4126,12 +4644,14 @@ static int macb_init(struct platform_device *pdev) +@@ -4141,12 +4659,14 @@ static int macb_init(struct platform_device *pdev) /* setup appropriated routines according to adapter type */ if (macb_is_gem(bp)) { @@ -9291,7 +9804,7 @@ index b940dcd3a..683d2095c 100644 bp->macbgem_ops.mog_alloc_rx_buffers = macb_alloc_rx_buffers; bp->macbgem_ops.mog_free_rx_buffers = macb_free_rx_buffers; bp->macbgem_ops.mog_init_rings = macb_init_rings; -@@ -4901,6 +5421,34 @@ static const struct macb_config versal_config = { +@@ -4916,6 +5436,34 @@ static const struct macb_config versal_config = { .usrio = &macb_default_usrio, }; @@ -9326,7 +9839,7 @@ index b940dcd3a..683d2095c 100644 static const struct of_device_id macb_dt_ids[] = { { .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config }, { .compatible = "cdns,macb" }, -@@ -4924,11 +5472,25 @@ static const struct of_device_id macb_dt_ids[] = { +@@ -4939,11 +5487,25 @@ static const struct of_device_id macb_dt_ids[] = { { .compatible = "xlnx,zynqmp-gem", .data = &zynqmp_config}, { .compatible = "xlnx,zynq-gem", .data = &zynq_config }, { .compatible = "xlnx,versal-gem", .data = &versal_config}, @@ -9352,7 +9865,7 @@ index b940dcd3a..683d2095c 100644 static const struct macb_config default_gem_config = { .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO | -@@ -4940,6 +5502,32 @@ static const struct macb_config default_gem_config = { +@@ -4955,6 +5517,32 @@ static const struct macb_config default_gem_config = { .jumbo_max_len = 10240, }; @@ -9385,7 +9898,7 @@ index b940dcd3a..683d2095c 100644 static int macb_probe(struct platform_device *pdev) { const struct macb_config *macb_config = &default_gem_config; -@@ -4952,7 +5540,6 @@ static int macb_probe(struct platform_device *pdev) +@@ -4967,7 +5555,6 @@ static int macb_probe(struct platform_device *pdev) struct clk *tsu_clk = NULL; unsigned int queue_mask, num_queues; bool native_io; @@ -9393,7 +9906,7 @@ index b940dcd3a..683d2095c 100644 struct net_device *dev; struct resource *regs; u32 wtrmrk_rst_val; -@@ -4973,6 +5560,15 @@ static int macb_probe(struct platform_device *pdev) +@@ -4988,6 +5575,15 @@ static int macb_probe(struct platform_device *pdev) clk_init = macb_config->clk_init; init = macb_config->init; } @@ -9409,7 +9922,7 @@ index b940dcd3a..683d2095c 100644 } err = clk_init(pdev, &pclk, &hclk, &tx_clk, &rx_clk, &tsu_clk); -@@ -5021,6 +5617,9 @@ static int macb_probe(struct platform_device *pdev) +@@ -5036,6 +5632,9 @@ static int macb_probe(struct platform_device *pdev) if (macb_config) bp->jumbo_max_len = macb_config->jumbo_max_len; @@ -9419,7 +9932,7 @@ index b940dcd3a..683d2095c 100644 if (!hw_is_gem(bp->regs, bp->native_io)) bp->max_tx_length = MACB_MAX_TX_LEN; else if (macb_config->max_tx_length) -@@ -5029,7 +5628,7 @@ static int macb_probe(struct platform_device *pdev) +@@ -5044,7 +5643,7 @@ static int macb_probe(struct platform_device *pdev) bp->max_tx_length = GEM_MAX_TX_LEN; bp->wol = 0; @@ -9428,7 +9941,7 @@ index b940dcd3a..683d2095c 100644 bp->wol |= MACB_WOL_HAS_MAGIC_PACKET; device_set_wakeup_capable(&pdev->dev, bp->wol & MACB_WOL_HAS_MAGIC_PACKET); -@@ -5102,12 +5701,12 @@ static int macb_probe(struct platform_device *pdev) +@@ -5118,12 +5717,12 @@ static int macb_probe(struct platform_device *pdev) else if (err) macb_get_hwaddr(bp); @@ -9445,7 +9958,7 @@ index b940dcd3a..683d2095c 100644 /* IP specific init */ err = init(pdev); -@@ -5118,6 +5717,20 @@ static int macb_probe(struct platform_device *pdev) +@@ -5134,6 +5733,20 @@ static int macb_probe(struct platform_device *pdev) if (err) goto err_out_phy_exit; @@ -9466,7 +9979,7 @@ index b940dcd3a..683d2095c 100644 netif_carrier_off(dev); err = register_netdev(dev); -@@ -5349,6 +5962,8 @@ static int __maybe_unused macb_resume(struct device *dev) +@@ -5365,6 +5978,8 @@ static int __maybe_unused macb_resume(struct device *dev) macb_set_rx_mode(netdev); macb_restore_features(bp); rtnl_lock(); @@ -9475,7 +9988,7 @@ index b940dcd3a..683d2095c 100644 phylink_start(bp->phylink); rtnl_unlock(); -@@ -5402,6 +6017,7 @@ static struct platform_driver macb_driver = { +@@ -5418,6 +6033,7 @@ static struct platform_driver macb_driver = { .driver = { .name = "macb", .of_match_table = of_match_ptr(macb_dt_ids), @@ -9484,7 +9997,7 @@ index b940dcd3a..683d2095c 100644 }, }; diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig -index 25f2d42de..bd1a3a9dd 100644 +index 92d7d5a00..eea267ecf 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig @@ -121,6 +121,16 @@ config DWMAC_MESON @@ -9517,7 +10030,7 @@ index 5b57aee19..91b1cf9bc 100644 obj-$(CONFIG_DWMAC_ROCKCHIP) += dwmac-rk.o obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h -index b0dd8adce..e4294c606 100644 +index 4dbc076f7..5a950cf07 100644 --- a/drivers/net/ethernet/stmicro/stmmac/common.h +++ b/drivers/net/ethernet/stmicro/stmmac/common.h @@ -50,10 +50,10 @@ @@ -9805,81 +10318,86 @@ index b5f012619..fead84822 100644 +module_exit(phylink_exit); MODULE_LICENSE("GPL v2"); -diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c -index 298663b03..0c1c1ff31 100644 ---- a/drivers/net/wireless/realtek/rtw88/mac.c -+++ b/drivers/net/wireless/realtek/rtw88/mac.c -@@ -309,6 +309,13 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on) - pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq; - ret = rtw_pwr_seq_parser(rtwdev, pwr_seq); - -+ if (pwr_on && rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB) { -+ if (chip->id == RTW_CHIP_TYPE_8822C || -+ chip->id == RTW_CHIP_TYPE_8822B || -+ chip->id == RTW_CHIP_TYPE_8821C) -+ rtw_write8_clr(rtwdev, REG_SYS_STATUS1 + 1, BIT(0)); -+ } -+ - if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_SDIO) - rtw_write32(rtwdev, REG_SDIO_HIMR, imr); - diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c -index 7a5cbdc31..e2c7d9f87 100644 +index a019f4085..7361913de 100644 --- a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c +++ b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c -@@ -9,24 +9,36 @@ - #include "usb.h" - - static const struct usb_device_id rtw_8821cu_id_table[] = { -- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */ -+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8731, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, - { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb820, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */ -- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */ -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc80c, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, - { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc820, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */ -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, - { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82a, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */ -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, +@@ -31,6 +31,8 @@ static const struct usb_device_id rtw_8821cu_id_table[] = { + .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82b, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */ -- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8811CU */ -- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8811CU */ -- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff), -- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* TOTOLINK A650UA v3 */ -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, + .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, + { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82c, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x331d, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* D-Link */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xc811, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xd811, 0xff, 0xff, 0xff), -+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */ - {}, - }; - MODULE_DEVICE_TABLE(usb, rtw_8821cu_id_table); ++ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x331d, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* D-Link */ + { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xc811, 0xff, 0xff, 0xff), +diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig +index da9826acc..69e7c420b 100644 +--- a/drivers/of/Kconfig ++++ b/drivers/of/Kconfig +@@ -102,4 +102,15 @@ config OF_OVERLAY + config OF_NUMA + bool + ++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 ++ select OF_OVERLAY ++ help ++ Enable a simple user-space driven DT overlay interface. ++ + endif # OF +diff --git a/drivers/of/Makefile b/drivers/of/Makefile +index eff624854..61bd05f08 100644 +--- a/drivers/of/Makefile ++++ b/drivers/of/Makefile +@@ -1,6 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0 + obj-y = base.o cpu.o device.o module.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/pci/controller/Kconfig b/drivers/pci/controller/Kconfig +index c0c3f2824..5701b4e44 100644 +--- a/drivers/pci/controller/Kconfig ++++ b/drivers/pci/controller/Kconfig +@@ -231,6 +231,16 @@ config PCI_HYPERV_INTERFACE + drivers to have a common interface with the Hyper-V PCI frontend + driver. + ++config PCIE_PHYTIUM_EP ++ tristate "Phytium PCIe endpoint controller" ++ depends on OF ++ depends on PCI_ENDPOINT ++ help ++ Say Y here if you want to support Phytium PCIe controller in ++ endpoint mode on Phytium SoC. The controller can act as Root Port ++ or End Point with different phytium firmware. But End Point mode only support ++ one physical function. ++ + config PCI_TEGRA + bool "NVIDIA Tegra PCIe controller" + depends on ARCH_TEGRA || COMPILE_TEST +diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile +index 37c8663de..74c69a5be 100644 +--- a/drivers/pci/controller/Makefile ++++ b/drivers/pci/controller/Makefile +@@ -39,6 +39,7 @@ obj-$(CONFIG_PCI_LOONGSON) += pci-loongson.o + obj-$(CONFIG_PCIE_HISI_ERR) += pcie-hisi-error.o + obj-$(CONFIG_PCIE_APPLE) += pcie-apple.o + obj-$(CONFIG_PCIE_MT7621) += pcie-mt7621.o ++obj-$(CONFIG_PCIE_PHYTIUM_EP) += pcie-phytium-ep.o + + # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW + obj-y += dwc/ diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index b5b96d2a9..4a2c10df8 100644 +index 70f484b81..948160061 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -31,6 +31,7 @@ @@ -9890,7 +10408,7 @@ index b5b96d2a9..4a2c10df8 100644 #include "pci.h" /* -@@ -4047,7 +4048,7 @@ static int nvme_disable_and_flr(struct pci_dev *dev, bool probe) +@@ -4062,7 +4063,7 @@ static int nvme_disable_and_flr(struct pci_dev *dev, bool probe) pcie_reset_flr(dev, PCI_RESET_PROBE) || !pci_resource_start(dev, 0)) return -ENOTTY; @@ -9899,7 +10417,7 @@ index b5b96d2a9..4a2c10df8 100644 return 0; bar = pci_iomap(dev, 0, NVME_REG_CC + sizeof(cfg)); -@@ -4195,6 +4196,7 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = { +@@ -4210,6 +4211,7 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = { { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IVB_M2_VGA, reset_ivb_igd }, { PCI_VENDOR_ID_SAMSUNG, 0xa804, nvme_disable_and_flr }, @@ -9907,7 +10425,7 @@ index b5b96d2a9..4a2c10df8 100644 { PCI_VENDOR_ID_INTEL, 0x0953, delay_250ms_after_flr }, { PCI_VENDOR_ID_INTEL, 0x0a54, delay_250ms_after_flr }, { PCI_VENDOR_ID_SOLIDIGM, 0xf1ac, delay_250ms_after_flr }, -@@ -5527,6 +5529,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0142, quirk_no_ext_tags); +@@ -5556,6 +5558,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0142, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0144, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0420, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags); @@ -9916,7 +10434,7 @@ index b5b96d2a9..4a2c10df8 100644 #ifdef CONFIG_PCI_ATS static void quirk_no_ats(struct pci_dev *pdev) diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c -index dae490f25..1d877793b 100644 +index 5a143ad5f..f8ce3f41f 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -576,6 +576,9 @@ static void pci_setup_bridge_io(struct pci_dev *bridge) @@ -9949,8 +10467,41 @@ index dae490f25..1d877793b 100644 } static void pci_setup_bridge_mmio(struct pci_dev *bridge) +diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig +index 8ebcddf91..3bd556182 100644 +--- a/drivers/pwm/Kconfig ++++ b/drivers/pwm/Kconfig +@@ -454,6 +454,16 @@ config PWM_PCA9685 + To compile this driver as a module, choose M here: the module + will be called pwm-pca9685. + ++config PWM_PHYTIUM ++ tristate "Phytium PWM support" ++ depends on ARCH_PHYTIUM ++ help ++ Generic PWM framework driver for the PWM controller found on ++ Phytium SoCs. ++ ++ To compile this driver as a module, choose M here: the module ++ will be called pwm-phytium. ++ + config PWM_PXA + tristate "PXA PWM support" + depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST +diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile +index c822389c2..e3fb6e95b 100644 +--- a/drivers/pwm/Makefile ++++ b/drivers/pwm/Makefile +@@ -41,6 +41,7 @@ obj-$(CONFIG_PWM_MXS) += pwm-mxs.o + obj-$(CONFIG_PWM_NTXEC) += pwm-ntxec.o + obj-$(CONFIG_PWM_OMAP_DMTIMER) += pwm-omap-dmtimer.o + obj-$(CONFIG_PWM_PCA9685) += pwm-pca9685.o ++obj-$(CONFIG_PWM_PHYTIUM) += pwm-phytium.o + obj-$(CONFIG_PWM_PXA) += pwm-pxa.o + obj-$(CONFIG_PWM_RASPBERRYPI_POE) += pwm-raspberrypi-poe.o + obj-$(CONFIG_PWM_RCAR) += pwm-rcar.o diff --git a/drivers/pwm/sysfs.c b/drivers/pwm/sysfs.c -index 8d1254761..0180ee80a 100644 +index 052ccadbd..ddb4ef55e 100644 --- a/drivers/pwm/sysfs.c +++ b/drivers/pwm/sysfs.c @@ -260,7 +260,7 @@ static int pwm_export_child(struct device *parent, struct pwm_device *pwm) @@ -10022,6 +10573,69 @@ index 95540ea8d..e8094b931 100644 } static int __init ras_init(void) +diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig +index 48845dc8f..f118bfc4b 100644 +--- a/drivers/remoteproc/Kconfig ++++ b/drivers/remoteproc/Kconfig +@@ -365,6 +365,12 @@ config XLNX_R5_REMOTEPROC + + It's safe to say N if not interested in using RPU r5f cores. + ++config HOMO_REMOTEPROC ++ bool "homogeneous remoteproc support" ++ select RPMSG_VIRTIO ++ help ++ Say y here to support homogeneous processors via the remote processor framework. ++ + endif # REMOTEPROC + + endmenu +diff --git a/drivers/remoteproc/Makefile b/drivers/remoteproc/Makefile +index 91314a9b4..87a388098 100644 +--- a/drivers/remoteproc/Makefile ++++ b/drivers/remoteproc/Makefile +@@ -39,3 +39,4 @@ obj-$(CONFIG_STM32_RPROC) += stm32_rproc.o + obj-$(CONFIG_TI_K3_DSP_REMOTEPROC) += ti_k3_dsp_remoteproc.o + obj-$(CONFIG_TI_K3_R5_REMOTEPROC) += ti_k3_r5_remoteproc.o + obj-$(CONFIG_XLNX_R5_REMOTEPROC) += xlnx_r5_remoteproc.o ++obj-$(CONFIG_HOMO_REMOTEPROC) += homo_remoteproc.o +diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig +old mode 100644 +new mode 100755 +index 92f46a631..ee24c293e +--- a/drivers/rtc/Kconfig ++++ b/drivers/rtc/Kconfig +@@ -708,6 +708,16 @@ config RTC_DRV_S5M + This driver can also be built as a module. If so, the module + will be called rtc-s5m. + ++config RTC_DRV_SD3068 ++ tristate "ZXW Shenzhen whwave SD3068" ++ select REGMAP_I2C ++ help ++ If you say yes here you get support for the ZXW Shenzhen whwave ++ SD3068 RTC chips. ++ ++ This driver can also be built as a module. If so, the module ++ will be called rtc-sd3068 ++ + config RTC_DRV_SD3078 + tristate "ZXW Shenzhen whwave SD3078" + select REGMAP_I2C +diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile +old mode 100644 +new mode 100755 +index fd209883e..700d1e9d1 +--- a/drivers/rtc/Makefile ++++ b/drivers/rtc/Makefile +@@ -158,6 +158,7 @@ obj-$(CONFIG_RTC_DRV_S3C) += rtc-s3c.o + obj-$(CONFIG_RTC_DRV_S5M) += rtc-s5m.o + obj-$(CONFIG_RTC_DRV_SA1100) += rtc-sa1100.o + obj-$(CONFIG_RTC_DRV_SC27XX) += rtc-sc27xx.o ++obj-$(CONFIG_RTC_DRV_SD3068) += rtc-sd3068.o + obj-$(CONFIG_RTC_DRV_SD3078) += rtc-sd3078.o + obj-$(CONFIG_RTC_DRV_SH) += rtc-sh.o + obj-$(CONFIG_RTC_DRV_SNVS) += rtc-snvs.o diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c index 506b7d1c2..479706161 100644 --- a/drivers/rtc/rtc-ds1307.c @@ -10081,6 +10695,91 @@ index 506b7d1c2..479706161 100644 }, .probe = ds1307_probe, .id_table = ds1307_id, +diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig +index 3ce0fd5df..03a3037b0 100644 +--- a/drivers/spi/Kconfig ++++ b/drivers/spi/Kconfig +@@ -774,6 +774,44 @@ config SPI_PCI1XXXX + This driver can be built as module. If so, the module will be + called as spi-pci1xxxx. + ++config SPI_PHYTIUM ++ tristate ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ ++config SPI_PHYTIUM_PLAT ++ tristate "Phytium SPI controller platform support" ++ select SPI_PHYTIUM ++ help ++ This selects a platform driver for Phytium SPI controller. ++ ++ If you say yes to this option, support will be included for ++ Phytium SoC families of SPI controller. ++ ++config SPI_PHYTIUM_PCI ++ tristate "Phytium SPI controller PCI support" ++ depends on PCI ++ select SPI_PHYTIUM ++ help ++ This selects a PCI driver for Phytium SPI controller. ++ ++ If you say yes to this option, support will be included for ++ Phytium PCIe chipsets of SPI controller. ++ ++ If unsure, say N. ++ ++config SPI_PHYTIUM_QSPI ++ tristate "Phytium Quad SPI controller" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ depends on OF ++ depends on SPI_MEM ++ help ++ This enables support for Phytium Quad SPI flash controller. ++ ++ This driver does not support generic SPI. The implementation only ++ supports spi-mem interface. ++ ++ If unsure, say N. ++ + config SPI_PIC32 + tristate "Microchip PIC32 series SPI" + depends on MACH_PIC32 || COMPILE_TEST +diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile +index 6af54842b..cfaf68b2d 100644 +--- a/drivers/spi/Makefile ++++ b/drivers/spi/Makefile +@@ -101,6 +101,11 @@ obj-$(CONFIG_SPI_OMAP24XX) += spi-omap2-mcspi.o + obj-$(CONFIG_SPI_TI_QSPI) += spi-ti-qspi.o + obj-$(CONFIG_SPI_ORION) += spi-orion.o + obj-$(CONFIG_SPI_PCI1XXXX) += spi-pci1xxxx.o ++obj-$(CONFIG_SPI_PHYTIUM) += spi-phytium.o ++obj-$(CONFIG_SPI_PHYTIUM_PLAT) += spi-phytium-plat.o ++obj-$(CONFIG_SPI_PHYTIUM_PCI) += spi-phytium-pci.o ++obj-$(CONFIG_SPI_PHYTIUM_QSPI) += spi-phytium-qspi.o ++obj-$(CONFIG_SPI_PHYTIUM) += spi-phytium-dma.o + obj-$(CONFIG_SPI_PIC32) += spi-pic32.o + obj-$(CONFIG_SPI_PIC32_SQI) += spi-pic32-sqi.o + obj-$(CONFIG_SPI_PL022) += spi-pl022.o +diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig +index 5dc634897..c86417920 100644 +--- a/drivers/staging/Kconfig ++++ b/drivers/staging/Kconfig +@@ -87,4 +87,6 @@ source "drivers/staging/hisysevent/Kconfig" + source "drivers/staging/zerohung/Kconfig" + + source "drivers/staging/hungtask/Kconfig" ++ ++source "drivers/staging/android/Kconfig" + endif # STAGING +diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile +index aec6e94a3..e37614535 100644 +--- a/drivers/staging/Makefile ++++ b/drivers/staging/Makefile +@@ -33,3 +33,4 @@ obj-$(CONFIG_HIEVENT) += hievent/ + obj-$(CONFIG_HISYSEVENT) += hisysevent/ + obj-$(CONFIG_DFX_ZEROHUNG) += zerohung/ + obj-$(CONFIG_DFX_HUNGTASK) += hungtask/ ++obj-$(CONFIG_ANDROID) += android/ diff --git a/drivers/tee/optee/Kconfig b/drivers/tee/optee/Kconfig index 70898bbd5..dc097c286 100644 --- a/drivers/tee/optee/Kconfig @@ -10178,11 +10877,45 @@ index d5b28fd35..e2b16275d 100644 }, }; +diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig +index bdc568a4a..0f4b94a14 100644 +--- a/drivers/tty/serial/Kconfig ++++ b/drivers/tty/serial/Kconfig +@@ -73,6 +73,17 @@ config SERIAL_AMBA_PL011_CONSOLE + your boot loader (lilo or loadlin) about how to pass options to the + kernel at boot time.) + ++config SERIAL_PHYTIUM_PCI ++ tristate "Phytium PCI serial port support" ++ depends on PCI ++ select SERIAL_CORE ++ help ++ This driver supports the Phytium UART controller on PCI/PCIe adapters. ++ If you want to compile this driver into the kernel, say Y here. To ++ compile this driver as a module, choose M here. ++ ++ If unsure, say N. ++ + config SERIAL_EARLYCON_SEMIHOST + bool "Early console using Arm compatible semihosting" + depends on ARM64 || ARM || RISCV +diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile +index 138abbc89..cd1d9c759 100644 +--- a/drivers/tty/serial/Makefile ++++ b/drivers/tty/serial/Makefile +@@ -88,6 +88,7 @@ obj-$(CONFIG_SERIAL_MILBEAUT_USIO) += milbeaut_usio.o + obj-$(CONFIG_SERIAL_SIFIVE) += sifive.o + obj-$(CONFIG_SERIAL_LITEUART) += liteuart.o + obj-$(CONFIG_SERIAL_SUNPLUS) += sunplus-uart.o ++obj-$(CONFIG_SERIAL_PHYTIUM_PCI) += phytium-uart.o + + # GPIOLIB helpers for modem control lines + obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c -index 0a37f0d51..0a6ca2e5f 100644 +index b0137eac7..d7f8986bf 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c -@@ -1996,6 +1996,10 @@ static void xhci_add_in_port(struct xhci_hcd *xhci, unsigned int num_ports, +@@ -1998,6 +1998,10 @@ static void xhci_add_in_port(struct xhci_hcd *xhci, unsigned int num_ports, return; } @@ -10194,10 +10927,10 @@ index 0a37f0d51..0a6ca2e5f 100644 temp = readl(addr + 2); port_offset = XHCI_EXT_PORT_OFF(temp); diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c -index d6fc08e5d..c9c2e7062 100644 +index c1a172b6f..3392beb07 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -62,6 +62,8 @@ +@@ -65,6 +65,8 @@ #define PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI 0x51ed #define PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI 0x54ed @@ -10206,7 +10939,7 @@ index d6fc08e5d..c9c2e7062 100644 #define PCI_DEVICE_ID_AMD_RENOIR_XHCI 0x1639 #define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9 #define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba -@@ -474,6 +476,12 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) +@@ -477,6 +479,12 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) if (pdev->vendor == PCI_VENDOR_ID_VIA) xhci->quirks |= XHCI_RESET_ON_RESUME; @@ -10264,19 +10997,19 @@ index d68e9abcd..9420d7a56 100644 }; MODULE_DEVICE_TABLE(acpi, usb_xhci_acpi_match); diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index 31088602c..b3124c20b 100644 +index df87e8bcb..4a970882f 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1907,6 +1907,7 @@ struct xhci_hcd { - #define XHCI_RESET_TO_DEFAULT BIT_ULL(44) - #define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45) - #define XHCI_ZHAOXIN_HOST BIT_ULL(46) -+#define XHCI_SLOWDOWN_QUIRK BIT_ULL(47) +@@ -1662,6 +1662,7 @@ struct xhci_hcd { + #define XHCI_WRITE_64_HI_LO BIT_ULL(47) + #define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48) + #define XHCI_ETRON_HOST BIT_ULL(49) ++#define XHCI_SLOWDOWN_QUIRK BIT_ULL(50) unsigned int num_active_eps; unsigned int limit_active_eps; diff --git a/drivers/w1/masters/Kconfig b/drivers/w1/masters/Kconfig -index ad3165732..8f2675c38 100644 +index ad3165732..cf16129a2 100644 --- a/drivers/w1/masters/Kconfig +++ b/drivers/w1/masters/Kconfig @@ -58,6 +58,16 @@ config HDQ_MASTER_OMAP @@ -10296,6 +11029,22 @@ index ad3165732..8f2675c38 100644 config W1_MASTER_SGI tristate "SGI ASIC driver" help +@@ -67,5 +77,15 @@ config W1_MASTER_SGI + This support is also available as a module. If so, the module + will be called sgi_w1. + ++config W1_MASTER_PHYTIUM ++ tristate "Phytium 1-wire driver" ++ depends on ARCH_PHYTIUM || COMPILE_TEST ++ help ++ Say Y here if you want to get support for the 1-wire interface ++ on an Phytium SoC. ++ ++ This driver can also be built as a module. If so, the module ++ will be called phytium-w1. ++ + endmenu + diff --git a/drivers/w1/masters/Makefile b/drivers/w1/masters/Makefile index c5d85a827..60bf6070c 100644 --- a/drivers/w1/masters/Makefile @@ -11068,736 +11817,6 @@ index 84dca3695..c444082e0 100644 .pm = pm_sleep_ptr(&dw_wdt_pm_ops), }, }; -diff --git a/fs/hmdfs/comm/connection.c b/fs/hmdfs/comm/connection.c -index 046688747..44a4cb933 100644 ---- a/fs/hmdfs/comm/connection.c -+++ b/fs/hmdfs/comm/connection.c -@@ -640,11 +640,6 @@ void connection_handshake_recv_handler(struct connection *conn_impl, void *buf, - hmdfs_info( - "Recved handshake response: device_id = %llu, cmd->status = %hhu, tcp->fd = %d", - conn_impl->node->device_id, status, fd); -- if (status == CONNECT_STAT_WAIT_REQUEST) { -- // must be 10.1 device, no need to set ktls -- connection_to_working(conn_impl->node); -- goto out; -- } - - ret = hs_proc_msg_data(conn_impl, ops, data, data_len); - if (ret) -diff --git a/fs/hmdfs/comm/socket_adapter.c b/fs/hmdfs/comm/socket_adapter.c -index 6ed430268..b9f35b9e1 100644 ---- a/fs/hmdfs/comm/socket_adapter.c -+++ b/fs/hmdfs/comm/socket_adapter.c -@@ -281,7 +281,7 @@ static struct hmdfs_msg_parasite *mp_alloc(struct hmdfs_peer *peer, - return ERR_PTR(-ENOMEM); - - ret = hmdfs_alloc_msg_idr(peer, MSG_IDR_MESSAGE_ASYNC, mp, -- mp->head.send_cmd_operations); -+ req->operations); - if (unlikely(ret)) { - kfree(mp); - return ERR_PTR(ret); -diff --git a/fs/hmdfs/file_merge.c b/fs/hmdfs/file_merge.c -index 8fb439d3b..2a2998e32 100644 ---- a/fs/hmdfs/file_merge.c -+++ b/fs/hmdfs/file_merge.c -@@ -19,12 +19,12 @@ struct hmdfs_iterate_callback_merge { - /* - * Record the return value of 'caller->actor': - * -- * -EINVAL, buffer is exhausted -- * -EINTR, current task is pending -- * -EFAULT, something is wrong -- * 0, success and can do more -+ * false, buffer is exhausted -+ * false, current task is pending -+ * false, something is wrong -+ * true, success and can do more - */ -- int result; -+ bool result ; - struct rb_root *root; - uint64_t dev_id; - }; -@@ -210,7 +210,7 @@ static bool hmdfs_actor_merge(struct dir_context *ctx, const char *name, - int namelen, long long offset, unsigned long long ino, - unsigned int d_type) - { -- int ret = 0; -+ bool ret = true; - int insert_res = 0; - int max_devid_len = 2; - char *dentry_name = NULL; -@@ -219,14 +219,20 @@ static bool hmdfs_actor_merge(struct dir_context *ctx, const char *name, - struct hmdfs_iterate_callback_merge *iterate_callback_merge = NULL; - struct dir_context *org_ctx = NULL; - -- if (hmdfs_file_type(name) != HMDFS_TYPE_COMMON) -- return 0; -+ if (hmdfs_file_type(name) != HMDFS_TYPE_COMMON) { -+ /* -+ * return true here, so that the caller can continue to next -+ * dentry even if failed on this dentry somehow. -+ */ -+ return true; -+ } -+ - - if (namelen > NAME_MAX) -- return -EINVAL; -+ return false; - dentry_name = kzalloc(NAME_MAX + 1, GFP_KERNEL); - if (!dentry_name) -- return -ENOMEM; -+ return false; - - strncpy(dentry_name, name, dentry_len); - -@@ -245,7 +251,7 @@ static bool hmdfs_actor_merge(struct dir_context *ctx, const char *name, - } else if (d_type == DT_DIR && - (insert_res == DT_REG || insert_res == DT_LNK)) { - if (strlen(CONFLICTING_DIR_SUFFIX) > NAME_MAX - dentry_len) { -- ret = -ENAMETOOLONG; -+ ret = false; - goto delete; - } - rename_conflicting_directory(dentry_name, &dentry_len); -@@ -253,7 +259,7 @@ static bool hmdfs_actor_merge(struct dir_context *ctx, const char *name, - } else if ((d_type == DT_REG || d_type == DT_LNK) && insert_res > 0) { - if (strlen(CONFLICTING_FILE_SUFFIX) + max_devid_len > - NAME_MAX - dentry_len) { -- ret = -ENAMETOOLONG; -+ ret = false; - goto delete; - } - rename_conflicting_file(dentry_name, &dentry_len, -@@ -268,13 +274,12 @@ static bool hmdfs_actor_merge(struct dir_context *ctx, const char *name, - * different situations. - */ - iterate_callback_merge->result = ret; -- ret = ret == 0 ? 0 : 1; -- if (ret && d_type == DT_DIR && cache_entry->file_type == DT_DIR && -+ if (!ret && d_type == DT_DIR && cache_entry->file_type == DT_DIR && - (insert_res == DT_REG || insert_res == DT_LNK)) - cache_entry->file_type = DT_REG; - - delete: -- if (ret && !insert_res) -+ if (!ret && !insert_res) - delete_filename(iterate_callback_merge->root, cache_entry); - done: - kfree(dentry_name); -diff --git a/fs/hmdfs/hmdfs.h b/fs/hmdfs/hmdfs.h -index 61da068bb..5d1eec787 100644 ---- a/fs/hmdfs/hmdfs.h -+++ b/fs/hmdfs/hmdfs.h -@@ -43,7 +43,7 @@ - - // 20 digits +'\0', Converted from a u64 integer - #define HMDFS_ACCOUNT_HASH_MAX_LEN 21 --#define CTRL_PATH_MAX_LEN 21 -+#define CTRL_PATH_MAX_LEN 11 - - #define HMDFS_SUPER_MAGIC 0x20200302 - -diff --git a/fs/hmdfs/hmdfs_dentryfile.c b/fs/hmdfs/hmdfs_dentryfile.c -index 2da6bd8ad..fda2f034b 100644 ---- a/fs/hmdfs/hmdfs_dentryfile.c -+++ b/fs/hmdfs/hmdfs_dentryfile.c -@@ -26,17 +26,6 @@ - #define HMDFS_HASH_COL_BIT ((0x1ULL) << 63) - #define DELTA 0x9E3779B9 - --static bool is_dot_dotdot(const unsigned char *name, __u32 len) --{ -- if (len == 1 && name[0] == '.') -- return true; -- -- if (len == 2 && name[0] == '.' && name[1] == '.') -- return true; -- -- return false; --} -- - static void str2hashbuf(const unsigned char *msg, size_t len, unsigned int *buf, - int num, bool case_sense) - { -@@ -1827,25 +1816,25 @@ static bool cache_file_iterate(struct dir_context *ctx, const char *name, - - if (name_len > NAME_MAX) { - hmdfs_err("name_len:%d NAME_MAX:%u", name_len, NAME_MAX); -- return 0; -+ return true; - } - - if (d_type != DT_REG) -- return 0; -+ return true; - - cfi = kmalloc(sizeof(*cfi), GFP_KERNEL); - if (!cfi) -- return -ENOMEM; -+ return false; - - cfi->name = kstrndup(name, name_len, GFP_KERNEL); - if (!cfi->name) { - kfree(cfi); -- return -ENOMEM; -+ return false; - } - - list_add_tail(&cfi->list, &cb->list); - -- return 0; -+ return true; - } - - void hmdfs_do_load(struct hmdfs_sb_info *sbi, const char *fullname, bool server) -diff --git a/fs/hmdfs/hmdfs_server.c b/fs/hmdfs/hmdfs_server.c -index d7c4d98cf..b1217f476 100644 ---- a/fs/hmdfs/hmdfs_server.c -+++ b/fs/hmdfs/hmdfs_server.c -@@ -1463,10 +1463,10 @@ static bool hmdfs_filldir_real(struct dir_context *ctx, const char *name, - - out: - /* -- * we always return 0 here, so that the caller can continue to next -+ * we always return true here, so that the caller can continue to next - * dentry even if failed on this dentry somehow. - */ -- return 0; -+ return true; - } - - static void hmdfs_server_set_header(struct hmdfs_dcache_header *header, -diff --git a/fs/hmdfs/inode_cloud.c b/fs/hmdfs/inode_cloud.c -index 4f1caf7bd..6099f1336 100644 ---- a/fs/hmdfs/inode_cloud.c -+++ b/fs/hmdfs/inode_cloud.c -@@ -286,6 +286,10 @@ static struct dentry *hmdfs_lookup_cloud_dentry(struct inode *parent_inode, - if (in_share_dir(child_dentry)) - gdi->file_type = HM_SHARE; - inode = fill_inode_cloud(sb, lookup_result, parent_inode); -+ if (IS_ERR(inode)) { -+ ret = ERR_CAST(inode); -+ goto out; -+ } - - check_and_fixup_ownership_remote(parent_inode, - inode, -@@ -296,7 +300,7 @@ static struct dentry *hmdfs_lookup_cloud_dentry(struct inode *parent_inode, - } else { - ret = ERR_PTR(-ENOENT); - } -- -+out: - kfree(lookup_result); - return ret; - } -diff --git a/fs/hmdfs/inode_local.c b/fs/hmdfs/inode_local.c -index 4fd799a21..4509d3e40 100644 ---- a/fs/hmdfs/inode_local.c -+++ b/fs/hmdfs/inode_local.c -@@ -38,7 +38,6 @@ int init_hmdfs_dentry_info(struct hmdfs_sb_info *sbi, struct dentry *dentry, - - if (!info) - return -ENOMEM; -- dentry->d_fsdata = info; - INIT_LIST_HEAD(&info->cache_list_head); - INIT_LIST_HEAD(&info->remote_cache_list_head); - spin_lock_init(&info->cache_list_lock); -@@ -47,6 +46,7 @@ int init_hmdfs_dentry_info(struct hmdfs_sb_info *sbi, struct dentry *dentry, - spin_lock_init(&info->lock); - info->dentry_type = dentry_type; - info->device_id = 0; -+ dentry->d_fsdata = info; - if (dentry_type == HMDFS_LAYER_ZERO || - dentry_type == HMDFS_LAYER_FIRST_DEVICE || - dentry_type == HMDFS_LAYER_SECOND_LOCAL || -@@ -183,9 +183,9 @@ static bool hmdfs_name_match(struct dir_context *ctx, const char *name, - memcpy(buf->name, name, namelen); - buf->name[namelen] = 0; - buf->found = true; -- return 1; -+ return false; - } -- return 0; -+ return true; - } - - static int __lookup_nosensitive(struct path *lower_parent_path, -@@ -920,8 +920,13 @@ static int hmdfs_getattr_local(struct mnt_idmap *idmap, const struct path *path, - struct path lower_path; - int ret; - -+ if (path->dentry == NULL || hmdfs_d(path->dentry) == NULL) { -+ hmdfs_err("dentry is NULL"); -+ return -ENOENT; -+ } -+ - hmdfs_get_lower_path(path->dentry, &lower_path); -- ret = vfs_getattr(&lower_path, stat, request_mask, flags); -+ ret = vfs_getattr_nosec(&lower_path, stat, request_mask, flags); - stat->ino = d_inode(path->dentry)->i_ino; - stat->uid = d_inode(path->dentry)->i_uid; - stat->gid = d_inode(path->dentry)->i_gid; -diff --git a/fs/hmdfs/inode_merge.c b/fs/hmdfs/inode_merge.c -index f090de1e4..7c1e1e4f8 100644 ---- a/fs/hmdfs/inode_merge.c -+++ b/fs/hmdfs/inode_merge.c -@@ -785,7 +785,7 @@ int hmdfs_getattr_merge(struct mnt_idmap *idmap, const struct path *path, struct - goto out; - } - -- ret = vfs_getattr(&lower_path, stat, request_mask, flags); -+ ret = vfs_getattr_nosec(&lower_path, stat, request_mask, flags); - out: - dput(lower_path.dentry); - return ret; -diff --git a/fs/hmdfs/main.c b/fs/hmdfs/main.c -index f08ed9fd9..7e0952990 100644 ---- a/fs/hmdfs/main.c -+++ b/fs/hmdfs/main.c -@@ -865,7 +865,6 @@ static int hmdfs_fill_super(struct super_block *sb, void *data, int silent) - struct super_block *lower_sb; - struct dentry *root_dentry; - char ctrl_path[CTRL_PATH_MAX_LEN]; -- uint64_t ctrl_hash; - - if (!raw_data) - return -EINVAL; -@@ -902,9 +901,8 @@ static int hmdfs_fill_super(struct super_block *sb, void *data, int silent) - goto out_freesbi; - - // add ctrl sysfs node -- ctrl_hash = path_hash(sbi->local_dst, strlen(sbi->local_dst), true); -- scnprintf(ctrl_path, CTRL_PATH_MAX_LEN, "%llu", ctrl_hash); -- hmdfs_debug("hash %llu", ctrl_hash); -+ scnprintf(ctrl_path, CTRL_PATH_MAX_LEN, "%u", sb->s_dev); -+ hmdfs_debug("s_dev %u", sb->s_dev); - err = hmdfs_register_sysfs(ctrl_path, sbi); - if (err) - goto out_freesbi; -diff --git a/fs/hmdfs/stash.c b/fs/hmdfs/stash.c -index c6c88b026..21c5fac34 100644 ---- a/fs/hmdfs/stash.c -+++ b/fs/hmdfs/stash.c -@@ -1022,10 +1022,10 @@ static bool hmdfs_has_stash_file(struct dir_context *dctx, const char *name, - err = hmdfs_parse_stash_file_name(dctx, name, namelen, - d_type, &stash_inum); - if (!err) -- return 0; -+ return true; - - ctx->tbl->cnt++; -- return 1; -+ return false; - } - - static bool hmdfs_fill_stash_file(struct dir_context *dctx, const char *name, -@@ -1040,13 +1040,13 @@ static bool hmdfs_fill_stash_file(struct dir_context *dctx, const char *name, - err = hmdfs_parse_stash_file_name(dctx, name, namelen, - d_type, &stash_inum); - if (!err) -- return 0; -+ return true; - if (ctx->tbl->cnt >= ctx->tbl->max) -- return 1; -+ return false; - - ctx->tbl->inodes[ctx->tbl->cnt++] = stash_inum; - -- return 0; -+ return true; - } - - static int hmdfs_del_stash_file(struct dentry *parent, struct dentry *child) -diff --git a/fs/sharefs/authentication.c b/fs/sharefs/authentication.c -index bc6e82509..39997c632 100644 ---- a/fs/sharefs/authentication.c -+++ b/fs/sharefs/authentication.c -@@ -95,4 +95,4 @@ void sharefs_revert_fsids(const struct cred *old_cred) - revert_creds(old_cred); - put_cred(cur_cred); - } --#endif -+#endif -\ No newline at end of file -diff --git a/fs/sharefs/authentication.h b/fs/sharefs/authentication.h -index 165b66fc9..c9875d376 100644 ---- a/fs/sharefs/authentication.h -+++ b/fs/sharefs/authentication.h -@@ -4,6 +4,8 @@ - * - * Copyright (c) 2023 Huawei Device Co., Ltd. - */ -+#ifndef AUTHENTICATION_H -+#define AUTHENTICATION_H - - #include "sharefs.h" - -@@ -73,3 +75,5 @@ static inline int get_bundle_uid(struct sharefs_sb_info *sbi, const char *bname) - { - return sbi->user_id * BASE_USER_RANGE + get_bid_config(bname); - } -+ -+#endif //_AUTHENTICATION_H_ -\ No newline at end of file -diff --git a/fs/sharefs/file.c b/fs/sharefs/file.c -index 97547da44..bf5dbb346 100644 ---- a/fs/sharefs/file.c -+++ b/fs/sharefs/file.c -@@ -157,8 +157,7 @@ static loff_t sharefs_file_llseek(struct file *file, loff_t offset, int whence) - /* - * Sharefs read_iter, redirect modified iocb to lower read_iter - */ --ssize_t --sharefs_read_iter(struct kiocb *iocb, struct iov_iter *iter) -+ssize_t sharefs_read_iter(struct kiocb *iocb, struct iov_iter *iter) - { - int err; - struct file *file = iocb->ki_filp; -@@ -188,8 +187,7 @@ sharefs_read_iter(struct kiocb *iocb, struct iov_iter *iter) - /* - * Sharefs write_iter, redirect modified iocb to lower write_iter - */ --ssize_t --sharefs_write_iter(struct kiocb *iocb, struct iov_iter *iter) -+ssize_t sharefs_write_iter(struct kiocb *iocb, struct iov_iter *iter) - { - int err; - struct file *file = iocb->ki_filp; -diff --git a/fs/sharefs/inode.c b/fs/sharefs/inode.c -index 79a3f841e..546082924 100644 ---- a/fs/sharefs/inode.c -+++ b/fs/sharefs/inode.c -@@ -14,50 +14,6 @@ - #include "authentication.h" - #endif - --static const char *sharefs_get_link(struct dentry *dentry, struct inode *inode, -- struct delayed_call *done) --{ -- DEFINE_DELAYED_CALL(lower_done); -- struct dentry *lower_dentry; -- struct path lower_path; -- char *buf; -- const char *lower_link; -- -- if (!dentry) -- return ERR_PTR(-ECHILD); -- -- sharefs_get_lower_path(dentry, &lower_path); -- lower_dentry = lower_path.dentry; -- -- /* -- * get link from lower file system, but use a separate -- * delayed_call callback. -- */ -- lower_link = vfs_get_link(lower_dentry, &lower_done); -- if (IS_ERR(lower_link)) { -- buf = ERR_CAST(lower_link); -- goto out; -- } -- -- /* -- * we can't pass lower link up: have to make private copy and -- * pass that. -- */ -- buf = kstrdup(lower_link, GFP_KERNEL); -- do_delayed_call(&lower_done); -- if (!buf) { -- buf = ERR_PTR(-ENOMEM); -- goto out; -- } -- -- fsstack_copy_attr_atime(d_inode(dentry), d_inode(lower_dentry)); -- -- set_delayed_call(done, kfree_link, buf); --out: -- sharefs_put_lower_path(dentry, &lower_path); -- return buf; --} -- - static int sharefs_getattr(struct mnt_idmap *idmap, const struct path *path, struct kstat *stat, - u32 request_mask, unsigned int flags) - { -@@ -65,7 +21,7 @@ static int sharefs_getattr(struct mnt_idmap *idmap, const struct path *path, str - int ret; - - sharefs_get_lower_path(path->dentry, &lower_path); -- ret = vfs_getattr(&lower_path, stat, request_mask, flags); -+ ret = vfs_getattr_nosec(&lower_path, stat, request_mask, flags); - stat->ino = d_inode(path->dentry)->i_ino; - stat->uid = d_inode(path->dentry)->i_uid; - stat->gid = d_inode(path->dentry)->i_gid; -@@ -77,8 +33,7 @@ static int sharefs_getattr(struct mnt_idmap *idmap, const struct path *path, str - return ret; - } - --static ssize_t --sharefs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size) -+static ssize_t sharefs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size) - { - int err; - struct dentry *lower_dentry; -@@ -122,7 +77,7 @@ static int sharefs_permission(struct mnt_idmap *idmap, struct inode *inode, int - } - - #ifdef CONFIG_SHAREFS_SUPPORT_WRITE --static int sharefs_create(struct inode *dir, struct dentry *dentry, -+static int sharefs_create(struct mnt_idmap *idmap, struct inode *dir, struct dentry *dentry, - umode_t mode, bool want_excl) - { - int err; -@@ -141,7 +96,7 @@ static int sharefs_create(struct inode *dir, struct dentry *dentry, - sharefs_get_lower_path(dentry, &lower_path); - lower_dentry = lower_path.dentry; - lower_parent_dentry = lock_parent(lower_dentry); -- err = vfs_create(d_inode(lower_parent_dentry), lower_dentry, mode, -+ err = vfs_create(&nop_mnt_idmap, d_inode(lower_parent_dentry), lower_dentry, mode, - want_excl); - if (err) - goto out; -@@ -158,7 +113,7 @@ static int sharefs_create(struct inode *dir, struct dentry *dentry, - return err; - } - --static int sharefs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) -+static int sharefs_mkdir(struct mnt_idmap *idmap, struct inode *dir, struct dentry *dentry, umode_t mode) - { - int err; - struct dentry *lower_dentry; -@@ -176,7 +131,7 @@ static int sharefs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) - sharefs_get_lower_path(dentry, &lower_path); - lower_dentry = lower_path.dentry; - lower_parent_dentry = lock_parent(lower_dentry); -- err = vfs_mkdir(d_inode(lower_parent_dentry), lower_dentry, mode); -+ err = vfs_mkdir(&nop_mnt_idmap, d_inode(lower_parent_dentry), lower_dentry, mode); - if (err) - goto out; - -@@ -208,14 +163,14 @@ static int sharefs_unlink(struct inode *dir, struct dentry *dentry) - lower_dentry = lower_path.dentry; - dget(lower_dentry); - lower_dir_dentry = lock_parent(lower_dentry); -- err = vfs_unlink(lower_dir_inode, lower_dentry, NULL); -+ err = vfs_unlink(&nop_mnt_idmap, lower_dir_inode, lower_dentry, NULL); - if (err) - goto out; - fsstack_copy_attr_times(dir, lower_dir_inode); - fsstack_copy_inode_size(dir, lower_dir_inode); - set_nlink(dentry->d_inode, - sharefs_lower_inode(dentry->d_inode)->i_nlink); -- dentry->d_inode->i_ctime = dir->i_ctime; -+ dentry->d_inode->__i_ctime = dir->__i_ctime; - d_drop(dentry); - - out: -@@ -235,7 +190,7 @@ static int sharefs_rmdir(struct inode *dir, struct dentry *dentry) - sharefs_get_lower_path(dentry, &lower_path); - lower_dentry = lower_path.dentry; - lower_dir_dentry = lock_parent(lower_dentry); -- err = vfs_rmdir(lower_dir_dentry->d_inode, lower_dentry); -+ err = vfs_rmdir(&nop_mnt_idmap, lower_dir_dentry->d_inode, lower_dentry); - if (err) - goto out; - -@@ -252,7 +207,7 @@ static int sharefs_rmdir(struct inode *dir, struct dentry *dentry) - return err; - } - --static int sharefs_rename(struct inode *old_dir, struct dentry *old_dentry, -+static int sharefs_rename(struct mnt_idmap *idmap, struct inode *old_dir, struct dentry *old_dentry, - struct inode *new_dir, struct dentry *new_dentry, - unsigned int flags) - { -@@ -263,6 +218,7 @@ static int sharefs_rename(struct inode *old_dir, struct dentry *old_dentry, - struct dentry *lower_new_dir_dentry = NULL; - struct dentry *trap = NULL; - struct path lower_old_path, lower_new_path; -+ struct renamedata rename_data; - - if (flags) - return -EINVAL; -@@ -285,9 +241,14 @@ static int sharefs_rename(struct inode *old_dir, struct dentry *old_dentry, - goto out; - } - -- err = vfs_rename(lower_old_dir_dentry->d_inode, lower_old_dentry, -- lower_new_dir_dentry->d_inode, lower_new_dentry, -- NULL, 0); -+ rename_data.old_mnt_idmap = &nop_mnt_idmap; -+ rename_data.old_dir = lower_old_dir_dentry->d_inode; -+ rename_data.old_dentry = lower_old_dentry; -+ rename_data.new_mnt_idmap = &nop_mnt_idmap; -+ rename_data.new_dir = lower_new_dir_dentry->d_inode; -+ rename_data.new_dentry = lower_new_dentry; -+ rename_data.flags = flags; -+ err = vfs_rename(&rename_data); - if (err) - goto out; - -@@ -308,8 +269,9 @@ static int sharefs_rename(struct inode *old_dir, struct dentry *old_dentry, - sharefs_put_lower_path(new_dentry, &lower_new_path); - return err; - } -+#endif - --static int sharefs_setattr(struct dentry *dentry, struct iattr *ia) -+static int sharefs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, struct iattr *ia) - { - int err; - struct dentry *lower_dentry; -@@ -325,7 +287,7 @@ static int sharefs_setattr(struct dentry *dentry, struct iattr *ia) - * calling notify_change on the lower inode. - */ - -- err = setattr_prepare(dentry, ia); -+ err = setattr_prepare(&nop_mnt_idmap, dentry, ia); - if (err) - goto out_err; - -@@ -353,12 +315,7 @@ static int sharefs_setattr(struct dentry *dentry, struct iattr *ia) - truncate_setsize(inode, ia->ia_size); - } - -- /* -- * mode change is for clearing setuid/setgid bits. Allow lower fs -- * to interpret this in its own way. -- */ -- if (lower_ia.ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID)) -- lower_ia.ia_valid &= ~ATTR_MODE; -+ lower_ia.ia_valid &= ~(ATTR_MODE|ATTR_UID|ATTR_GID); - - /* notify the (possibly copied-up) lower inode */ - /* -@@ -368,7 +325,7 @@ static int sharefs_setattr(struct dentry *dentry, struct iattr *ia) - */ - - inode_lock(d_inode(lower_dentry)); -- err = notify_change(lower_dentry, &lower_ia, /* note: lower_ia */ -+ err = notify_change(&nop_mnt_idmap, lower_dentry, &lower_ia, /* note: lower_ia */ - NULL); - inode_unlock(d_inode(lower_dentry)); - -@@ -388,12 +345,11 @@ static int sharefs_setattr(struct dentry *dentry, struct iattr *ia) - out_err: - return err; - } --#endif - - const struct inode_operations sharefs_symlink_iops = { - .permission = sharefs_permission, - .getattr = sharefs_getattr, -- .get_link = sharefs_get_link, -+ .get_link = NULL, - .listxattr = sharefs_listxattr, - }; - -@@ -402,13 +358,13 @@ const struct inode_operations sharefs_dir_iops = { - .permission = sharefs_permission, - .getattr = sharefs_getattr, - .listxattr = sharefs_listxattr, -+ .setattr = sharefs_setattr, - #ifdef CONFIG_SHAREFS_SUPPORT_WRITE - .unlink = sharefs_unlink, - .rmdir = sharefs_rmdir, - .rename = sharefs_rename, - .create = sharefs_create, - .mkdir = sharefs_mkdir, -- .setattr = sharefs_setattr, - #endif - }; - -@@ -416,7 +372,5 @@ const struct inode_operations sharefs_main_iops = { - .permission = sharefs_permission, - .getattr = sharefs_getattr, - .listxattr = sharefs_listxattr, --#ifdef CONFIG_SHAREFS_SUPPORT_WRITE - .setattr = sharefs_setattr, --#endif - }; -diff --git a/fs/sharefs/main.c b/fs/sharefs/main.c -index 6a858b49f..f83d5e71d 100644 ---- a/fs/sharefs/main.c -+++ b/fs/sharefs/main.c -@@ -145,7 +145,6 @@ static struct file_system_type sharefs_fs_type = { - .kill_sb = generic_shutdown_super, - .fs_flags = 0, - }; --MODULE_ALIAS_FS(SHAREFS_NAME); - - static int __init init_sharefs_fs(void) - { -@@ -182,12 +181,13 @@ static void __exit exit_sharefs_fs(void) - sharefs_destroy_inode_cache(); - sharefs_destroy_dentry_cache(); - unregister_filesystem(&sharefs_fs_type); -+ sharefs_exit_configfs(); - pr_info("Completed sharefs module unload\n"); - } - --MODULE_AUTHOR("Jingjing Mao"); --MODULE_DESCRIPTION("Sharefs"); --MODULE_LICENSE("GPL"); -- - module_init(init_sharefs_fs); - module_exit(exit_sharefs_fs); -+ -+MODULE_LICENSE("GPL V2"); -+MODULE_DESCRIPTION("Share File System"); -+MODULE_ALIAS_FS("sharefs"); -\ No newline at end of file -diff --git a/fs/sharefs/sharefs.h b/fs/sharefs/sharefs.h -index 5ac090fc9..fe3067ce5 100644 ---- a/fs/sharefs/sharefs.h -+++ b/fs/sharefs/sharefs.h -@@ -64,6 +64,8 @@ struct sharefs_sb_info { - struct super_block *lower_sb; - /* multi user */ - unsigned int user_id; -+ bool override; -+ bool override_support_delete; - }; - - /* operations vectors defined in specific files */ -diff --git a/fs/sharefs/super.c b/fs/sharefs/super.c -index bbe659446..cba0d2206 100644 ---- a/fs/sharefs/super.c -+++ b/fs/sharefs/super.c -@@ -13,12 +13,16 @@ - - enum { - OPT_USER_ID, -- OPT_ERR, -+ OPT_OVERRIDE, -+ OPT_OVERRIDE_SUPPORT_DELETE, -+ OPT_ERR, - }; - - static match_table_t sharefs_tokens = { - { OPT_USER_ID, "user_id=%s" }, -- { OPT_ERR, NULL } -+ { OPT_OVERRIDE, "override" }, -+ { OPT_OVERRIDE_SUPPORT_DELETE, "override_support_delete" }, -+ { OPT_ERR, NULL } - }; - - int sharefs_parse_options(struct sharefs_sb_info *sbi, const char *data) -@@ -58,6 +62,12 @@ int sharefs_parse_options(struct sharefs_sb_info *sbi, const char *data) - sbi->user_id = user_id; - } - break; -+ case OPT_OVERRIDE: -+ sbi->override = true; -+ break; -+ case OPT_OVERRIDE_SUPPORT_DELETE: -+ sbi->override_support_delete = true; -+ break; - default: - err = -EINVAL; - goto out; diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h index b14d16563..0feb61171 100644 --- a/include/acpi/acpi_drivers.h @@ -11837,7 +11856,7 @@ index be1dd4c1a..e9180206d 100644 extern void ghes_register_report_chain(struct notifier_block *nb); extern void ghes_unregister_report_chain(struct notifier_block *nb); diff --git a/include/linux/acpi.h b/include/linux/acpi.h -index afd94c9b8..78ff80550 100644 +index 1b76d2f83..cb1a465f1 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -358,6 +358,18 @@ struct irq_domain *acpi_irq_create_hierarchy(unsigned int flags, @@ -11860,10 +11879,10 @@ index afd94c9b8..78ff80550 100644 extern int acpi_get_override_irq(u32 gsi, int *trigger, int *polarity); #else diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h -index 624d4a38c..2f979c03d 100644 +index b205c4820..6a10cce1f 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h -@@ -256,6 +256,8 @@ enum cpuhp_state { +@@ -259,6 +259,8 @@ enum cpuhp_state { CPUHP_AP_MM_DEMOTION_ONLINE, CPUHP_AP_X86_HPET_ONLINE, CPUHP_AP_X86_KVM_CLK_ONLINE, @@ -11872,30 +11891,8 @@ index 624d4a38c..2f979c03d 100644 CPUHP_AP_ACTIVE, CPUHP_ONLINE, }; -diff --git a/include/linux/fs.h b/include/linux/fs.h -index 62102f869..730f9088c 100644 ---- a/include/linux/fs.h -+++ b/include/linux/fs.h -@@ -2838,6 +2838,17 @@ extern bool path_is_under(const struct path *, const struct path *); - - extern char *file_path(struct file *, char *, int); - -+/** -+ * is_dot_dotdot - returns true only if @name is "." or ".." -+ * @name: file name to check -+ * @len: length of file name, in bytes -+ */ -+static inline bool is_dot_dotdot(const char *name, size_t len) -+{ -+ return len && unlikely(name[0] == '.') && -+ (len == 1 || (len == 2 && name[1] == '.')); -+} -+ - #include - - /* needed for stackable file system support */ diff --git a/include/linux/i3c/master.h b/include/linux/i3c/master.h -index 0b52da4f2..c55be28cf 100644 +index f2eb2452f..30f0066b7 100644 --- a/include/linux/i3c/master.h +++ b/include/linux/i3c/master.h @@ -182,6 +182,7 @@ struct i3c_dev_boardinfo { @@ -12573,6 +12570,59 @@ index 000000000..c80a65f28 +#endif + +#endif +diff --git a/include/linux/memcg_policy.h b/include/linux/memcg_policy.h +new file mode 100644 +index 000000000..232353277 +--- /dev/null ++++ b/include/linux/memcg_policy.h +@@ -0,0 +1,47 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * include/linux/memcg_policy.h ++ * ++ * Copyright (c) 2020-2022 Huawei Technologies Co., Ltd. ++ * ++ */ ++#ifndef _MEMCG_POLICY_H ++#define _MEMCG_POLICY_H ++ ++struct mem_cgroup; ++struct pglist_data; ++struct scan_control; ++ ++ ++extern struct list_head score_head; ++extern bool score_head_inited; ++extern rwlock_t score_list_lock; ++extern struct cgroup_subsys memory_cgrp_subsys; ++#ifdef CONFIG_HYPERHOLD_FILE_LRU ++void shrink_anon_memcg(struct pglist_data *pgdat, ++ struct mem_cgroup *memcg, struct scan_control *sc, ++ unsigned long *nr); ++bool shrink_node_hyperhold(struct pglist_data *pgdat, struct scan_control *sc); ++#endif /* CONFIG_HYPERHOLD_FILE_LRU */ ++ ++#ifdef CONFIG_HYPERHOLD_MEMCG ++struct mem_cgroup *get_next_memcg(struct mem_cgroup *prev); ++void get_next_memcg_break(struct mem_cgroup *memcg); ++void memcg_app_score_update(struct mem_cgroup *target); ++ ++struct memcg_reclaim { ++ atomic64_t app_score; ++ atomic64_t ub_ufs2zram_ratio; ++#ifdef CONFIG_HYPERHOLD_ZSWAPD ++ atomic_t ub_zram2ufs_ratio; ++ atomic_t ub_mem2zram_ratio; ++ atomic_t refault_threshold; ++ /* anon refault */ ++ unsigned long long reclaimed_pagefault; ++#endif ++}; ++#define MAX_APP_SCORE 1000 ++#endif ++ ++ ++#endif /* _LINUX_MEMCG_POLICY_H */ diff --git a/include/linux/memcheck.h b/include/linux/memcheck.h new file mode 100644 index 000000000..087cd760e @@ -12601,6 +12651,89 @@ index 000000000..087cd760e +#endif +#endif /* _MEMCHECK_H */ + +diff --git a/include/linux/mm_purgeable.h b/include/linux/mm_purgeable.h +new file mode 100644 +index 000000000..57264d38d +--- /dev/null ++++ b/include/linux/mm_purgeable.h +@@ -0,0 +1,77 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * Copyright (c) 2022 Huawei Device Co., Ltd. ++ */ ++ ++#ifndef __MM_PURGEABLE_MEM_H ++#define __MM_PURGEABLE_MEM_H ++ ++#ifdef CONFIG_MEM_PURGEABLE ++ ++void mm_init_uxpgd(struct mm_struct *mm); ++void mm_clear_uxpgd(struct mm_struct *mm); ++bool lock_uxpte(struct vm_area_struct *vma, unsigned long addr); ++void unlock_uxpte(struct vm_area_struct *vma, unsigned long addr); ++vm_fault_t do_uxpte_page_fault(struct vm_fault *vmf, pte_t *entry); ++bool uxpte_set_present(struct vm_area_struct *vma, unsigned long addr); ++void uxpte_clear_present(struct vm_area_struct *vma, unsigned long addr); ++ ++/* ++ * mm_purg_pages_info: get purgeable pages count of @mm ++ * @mm: [in] pointer to mm ++ * @total_purg_pages: [out] total purgeable pages of @mm ++ * @pined_purg_pages: [out] pined purgeable pages of @mm ++ * If @mm is NULL, return with doing nothing. ++ * If @total_purg_pages and @pined_purg_pages are both NULL, return with doing nothing. ++ * If one of @total_purg_pages and @pined_purg_pages is NULL, other one will be counted. ++ */ ++void mm_purg_pages_info(struct mm_struct *mm, unsigned long *total_purg_pages, ++ unsigned long *pined_purg_pages); ++ ++/* ++ * purg_pages_info: get global purgeable pages in system ++ * @total_purg_pages: [out] total purgeable pages in system ++ * @pined_purg_pages: [out] pined purgeable pages in system ++ * If @total_purg_pages and @pined_purg_pages are both NULL, return with doing nothing. ++ * If one of @total_purg_pages and @pined_purg_pages is NULL, other one will be counted. ++ */ ++void purg_pages_info(unsigned long *total_purg_pages, unsigned long *pined_purg_pages); ++ ++#else /* CONFIG_MEM_PURGEABLE */ ++ ++static inline void mm_init_uxpgd(struct mm_struct *mm) {} ++ ++static inline void mm_clear_uxpgd(struct mm_struct *mm) {} ++ ++static inline bool lock_uxpte(struct vm_area_struct *vma, ++ unsigned long addr) ++{ ++ return false; ++} ++ ++static inline void unlock_uxpte(struct vm_area_struct *vma, ++ unsigned long addr) {} ++ ++static inline vm_fault_t do_uxpte_page_fault(struct vm_fault *vmf, ++ pte_t *entry) ++{ ++ return 0; ++} ++ ++static inline bool uxpte_set_present(struct vm_area_struct *vma, ++ unsigned long addr) ++{ ++ return false; ++} ++ ++static inline void uxpte_clear_present(struct vm_area_struct *vma, ++ unsigned long addr) {} ++ ++static inline void mm_purg_pages_info(struct mm_struct *mm, ++ unsigned long *total_purg_pages, unsigned long *pined_purg_pages) {} ++ ++static inline void purg_pages_info(unsigned long *total_purg_pages, ++ unsigned long *pined_purg_pages) {} ++#endif /* CONFIG_MEM_PURGEABLE */ ++#endif /* __MM_PURGEABLE_MEM_H */ ++ diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h index b74a539ec..73f16747d 100644 --- a/include/linux/mtd/partitions.h @@ -12630,11 +12763,25 @@ index b74a539ec..73f16747d 100644 int (*parse_fn)(struct mtd_info *, const struct mtd_partition **, struct mtd_part_parser_data *); void (*cleanup)(const struct mtd_partition *pparts, int nr_parts); +diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h +index 3ed1e637e30f..142622ae6587 100644 +--- a/include/linux/page-flags.h ++++ b/include/linux/page-flags.h +@@ -511,9 +511,6 @@ PAGEFLAG(Checked, checked, PF_NO_COMPOUND) /* Used by some filesystems */ + #ifdef CONFIG_SECURITY_XPM + PAGEFLAG(XPMReadonly, xpm_readonly, PF_HEAD) + PAGEFLAG(XPMWritetainted, xpm_writetainted, PF_HEAD) +-#else +-PAGEFLAG_FALSE(XPMReadonly) +-PAGEFLAG_FALSE(XPMWritetainted) + #endif + + /* Xen */ diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h -index a6c66ea80..b69da9209 100644 +index 3dce2be62..8520a5c68 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h -@@ -3213,4 +3213,6 @@ +@@ -3221,4 +3221,6 @@ #define PCI_VENDOR_ID_NCUBE 0x10ff @@ -12674,6 +12821,143 @@ index 1f4048bf2..f695e7e76 100644 +#endif /* CONFIG_ARM || CONFIG_ARM64 */ + #endif /* __RAS_H__ */ +diff --git a/include/linux/reclaim_acct.h b/include/linux/reclaim_acct.h +new file mode 100644 +index 000000000..3f638cbec +--- /dev/null ++++ b/include/linux/reclaim_acct.h +@@ -0,0 +1,48 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * include/linux/reclaim_acct.h ++ * ++ * Copyright (c) 2022 Huawei Technologies Co., Ltd. ++ */ ++ ++#ifndef _RECLAIM_ACCT_H ++#define _RECLAIM_ACCT_H ++ ++#include ++#include ++ ++/* RA is the abbreviation of reclaim accouting */ ++enum reclaimacct_stubs { ++ RA_RECLAIM = 0, ++ RA_DRAINALLPAGES, ++ RA_SHRINKFILE, ++ RA_SHRINKANON, ++ RA_SHRINKSLAB, ++ NR_RA_STUBS ++}; ++ ++enum reclaim_type { ++ DIRECT_RECLAIMS = 0, ++ KSWAPD_RECLAIM, ++ ZSWAPD_RECLAIM, ++ RECLAIM_TYPES ++}; ++ ++#ifdef CONFIG_RECLAIM_ACCT ++static inline bool is_system_reclaim(enum reclaim_type type) ++{ ++ return (type == KSWAPD_RECLAIM || type == ZSWAPD_RECLAIM); ++} ++ ++void reclaimacct_tsk_init(struct task_struct *tsk); ++void reclaimacct_init(void); ++ ++void reclaimacct_start(enum reclaim_type type, struct reclaim_acct *ra); ++void reclaimacct_end(enum reclaim_type type); ++ ++void reclaimacct_substage_start(enum reclaimacct_stubs stub); ++void reclaimacct_substage_end(enum reclaimacct_stubs stub, unsigned long freed, ++ const struct shrinker *shrinker); ++#endif ++ ++#endif /* _RECLAIM_ACCT_H */ +diff --git a/include/linux/xpm_types.h b/include/linux/xpm_types.h +new file mode 100644 +index 000000000..64cfc57d7 +--- /dev/null ++++ b/include/linux/xpm_types.h +@@ -0,0 +1,21 @@ ++/* SPDX-License-Identifier: GPL-2.0-or-later */ ++/* ++ * Copyright (c) 2023 Huawei Device Co., Ltd. ++ */ ++ ++#ifndef _XPM_TYPES_H ++#define _XPM_TYPES_H ++ ++#include ++ ++struct xpm_region { ++ unsigned long addr_start; /* start adress of xpm region */ ++ unsigned long addr_end; /* end address of xpm region */ ++}; ++ ++struct cs_info { ++ uint32_t id_type; ++ uint32_t ownerid; ++}; ++ ++#endif /* _XPM_TYPES_H */ +diff --git a/include/linux/zswapd.h b/include/linux/zswapd.h +new file mode 100644 +index 000000000..214fc061a +--- /dev/null ++++ b/include/linux/zswapd.h +@@ -0,0 +1,50 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * include/linux/zswapd.h ++ * ++ * Copyright (c) 2020-2022 Huawei Technologies Co., Ltd. ++ */ ++ ++#ifndef _ZSWAPD_H ++#define _ZSWAPD_H ++ ++enum { ++ CACHE_SIZE, ++ SWAP_SIZE, ++ CACHE_PAGE, ++ SWAP_PAGE, ++ CACHE_FAULT, ++ SWAP_FAULT, ++ READ_SIZE, ++ WRITE_SIZE, ++}; ++ ++struct group_swap_ops { ++ u64 (*group_read)(u16 gid, u64 req_size, void *priv); ++ u64 (*group_write)(u16 gid, u64 req_size, void *priv); ++ u64 (*group_data_size)(u16 gid, int type, void *priv); ++}; ++ ++struct group_swap_device { ++ void *priv; ++ struct group_swap_ops *ops; ++ struct list_head list; ++}; ++ ++#ifdef CONFIG_HYPERHOLD_ZSWAPD ++extern int zswapd_run(int nid); ++extern void zswapd_stop(int nid); ++extern void zswapd_status_show(struct seq_file *m); ++extern void wake_all_zswapd(void); ++extern void set_snapshotd_init_flag(unsigned int val); ++extern pid_t get_zswapd_pid(void); ++extern unsigned long long get_free_swap_threshold(void); ++extern struct group_swap_device *register_group_swap(struct group_swap_ops *ops, void *priv); ++extern void unregister_group_swap(struct group_swap_device *gsdev); ++ ++#ifdef CONFIG_HYPERHOLD_DEBUG ++extern void memcg_eswap_info_show(struct seq_file *m); ++#endif ++#endif ++ ++#endif /* _LINUX_ZSWAPD_H */ diff --git a/include/ras/ras_event.h b/include/ras/ras_event.h index cbd3ddd7c..417c7fb99 100644 --- a/include/ras/ras_event.h @@ -12765,6 +13049,19 @@ index 32c59053b..65d58c647 100644 int poll_count; +diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h +index 5078d1dfc291..51bcc4598de4 100644 +--- a/include/trace/events/mmflags.h ++++ b/include/trace/events/mmflags.h +@@ -139,8 +139,6 @@ IF_HAVE_PG_IDLE(idle) \ + IF_HAVE_PG_IDLE(young) \ + IF_HAVE_PG_ARCH_X(arch_2) \ + IF_HAVE_PG_ARCH_X(arch_3) \ +-IF_HAVE_PG_ARCH_X(xpm_readonly) \ +-IF_HAVE_PG_ARCH_X(xpm_writetainted) + + #define show_page_flags(flags) \ + (flags) ? __print_flags(flags, "|", \ diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h index add349889..3db2a19df 100644 --- a/include/uapi/linux/serial_core.h @@ -12875,6 +13172,50 @@ index fe0958f99..21a9435fb 100644 } static void azx_timecounter_init(struct hdac_stream *azx_dev, +diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig +index bc32a2e34..2f8c8ed57 100644 +--- a/sound/pci/hda/Kconfig ++++ b/sound/pci/hda/Kconfig +@@ -26,6 +26,22 @@ config SND_HDA_INTEL + To compile this driver as a module, choose M here: the module + will be called snd-hda-intel. + ++config SND_HDA_PHYTIUM ++ tristate "PHYTIUM HD Audio" ++ depends on SOUND ++ select SND_HDA ++ select SND_HDA_ALIGNED_MMIO ++ help ++ Say Y here to support the HDA controller present in PHYTIUM ++ SoCs ++ ++ This options enables support for the HD Audio controller ++ present in some PHYTIUM SoCs, used to communicate audio ++ to the "High Definition Audio" codec. ++ ++ To compile this driver as a module, choose M here: the module ++ will be called snd-hda-phytium. ++ + config SND_HDA_TEGRA + tristate "NVIDIA Tegra HD Audio" + depends on ARCH_TEGRA +diff --git a/sound/pci/hda/Makefile b/sound/pci/hda/Makefile +index f00fc9ed6..5671283da 100644 +--- a/sound/pci/hda/Makefile ++++ b/sound/pci/hda/Makefile +@@ -1,6 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0 + snd-hda-intel-objs := hda_intel.o + snd-hda-tegra-objs := hda_tegra.o ++snd-hda-phytium-objs := hda_phytium.o + + snd-hda-codec-y := hda_bind.o hda_codec.o hda_jack.o hda_auto_parser.o hda_sysfs.o + snd-hda-codec-y += hda_controller.o +@@ -70,3 +71,4 @@ obj-$(CONFIG_SND_HDA_SCODEC_TAS2781_I2C) += snd-hda-scodec-tas2781-i2c.o + # when built in kernel + obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o + obj-$(CONFIG_SND_HDA_TEGRA) += snd-hda-tegra.o ++obj-$(CONFIG_SND_HDA_PHYTIUM) += snd-hda-phytium.o diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c index 406779625..86aa86e0c 100644 --- a/sound/pci/hda/hda_controller.c @@ -12938,3 +13279,57 @@ index 000000000..ec1f3e7f7 +}; + +#endif +diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig +index 439fa631c..e70e61755 100644 +--- a/sound/soc/Kconfig ++++ b/sound/soc/Kconfig +@@ -96,6 +96,7 @@ source "sound/soc/intel/Kconfig" + source "sound/soc/mediatek/Kconfig" + source "sound/soc/meson/Kconfig" + source "sound/soc/mxs/Kconfig" ++source "sound/soc/phytium/Kconfig" + source "sound/soc/pxa/Kconfig" + source "sound/soc/qcom/Kconfig" + source "sound/soc/rockchip/Kconfig" +diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig +index 6d105a23c..810c18314 100644 +--- a/sound/soc/codecs/Kconfig ++++ b/sound/soc/codecs/Kconfig +@@ -1071,6 +1071,15 @@ config SND_SOC_ES8328_SPI + depends on SPI_MASTER + select SND_SOC_ES8328 + ++config SND_SOC_ES8336 ++ tristate "Everest Semi ES8336 CODEC" ++ depends on I2C ++ select GPIO_PHYTIUM_PCI ++ ++config SND_SOC_ES8388 ++ tristate "Everest Semi ES8388 CODEC" ++ depends on I2C ++ + config SND_SOC_GTM601 + tristate 'GTM601 UMTS modem audio codec' + +diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile +index a87e56938..52d5ba02c 100644 +--- a/sound/soc/codecs/Makefile ++++ b/sound/soc/codecs/Makefile +@@ -119,6 +119,8 @@ snd-soc-es8326-objs := es8326.o + snd-soc-es8328-objs := es8328.o + snd-soc-es8328-i2c-objs := es8328-i2c.o + snd-soc-es8328-spi-objs := es8328-spi.o ++snd-soc-es8336-objs := es8336.o ++snd-soc-es8388-objs := es8388.o + snd-soc-gtm601-objs := gtm601.o + snd-soc-hdac-hdmi-objs := hdac_hdmi.o + snd-soc-hdac-hda-objs := hdac_hda.o +@@ -505,6 +507,8 @@ obj-$(CONFIG_SND_SOC_ES8326) += snd-soc-es8326.o + obj-$(CONFIG_SND_SOC_ES8328) += snd-soc-es8328.o + obj-$(CONFIG_SND_SOC_ES8328_I2C)+= snd-soc-es8328-i2c.o + obj-$(CONFIG_SND_SOC_ES8328_SPI)+= snd-soc-es8328-spi.o ++obj-$(CONFIG_SND_SOC_ES8336) += snd-soc-es8336.o ++obj-$(CONFIG_SND_SOC_ES8388) += snd-soc-es8388.o + obj-$(CONFIG_SND_SOC_GTM601) += snd-soc-gtm601.o + obj-$(CONFIG_SND_SOC_HDAC_HDMI) += snd-soc-hdac-hdmi.o + obj-$(CONFIG_SND_SOC_HDAC_HDA) += snd-soc-hdac-hda.o diff --git a/device_board_phytium/common/kernel_source/linux-6.6/phytium_standard_defconfig b/device_board_phytium/common/kernel_source/linux-6.6/phytium_standard_defconfig index a34d01d0bd0fb037a47e389257380e94d184fe07..1a11b7cf087fbc25c78e7bde5955b3252efc0d57 100644 --- a/device_board_phytium/common/kernel_source/linux-6.6/phytium_standard_defconfig +++ b/device_board_phytium/common/kernel_source/linux-6.6/phytium_standard_defconfig @@ -286,7 +286,7 @@ CONFIG_ARM64_PAGE_SHIFT=12 CONFIG_ARM64_CONT_PTE_SHIFT=4 CONFIG_ARM64_CONT_PMD_SHIFT=4 CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_BITS_MAX=33 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 CONFIG_STACKTRACE_SUPPORT=y @@ -300,7 +300,7 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_SMP=y CONFIG_KERNEL_MODE_NEON=y CONFIG_FIX_EARLYCON_MEM=y -CONFIG_PGTABLE_LEVELS=4 +CONFIG_PGTABLE_LEVELS=3 CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ARCH_PROC_KCORE_TEXT=y CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y @@ -410,9 +410,9 @@ CONFIG_SOCIONEXT_SYNQUACER_PREITS=y CONFIG_ARM64_4K_PAGES=y # CONFIG_ARM64_16K_PAGES is not set # CONFIG_ARM64_64K_PAGES is not set -# CONFIG_ARM64_VA_BITS_39 is not set -CONFIG_ARM64_VA_BITS_48=y -CONFIG_ARM64_VA_BITS=48 +CONFIG_ARM64_VA_BITS_39=y +# CONFIG_ARM64_VA_BITS_48 is not set +CONFIG_ARM64_VA_BITS=39 CONFIG_ARM64_PA_BITS_48=y CONFIG_ARM64_PA_BITS=48 # CONFIG_CPU_BIG_ENDIAN is not set @@ -4263,9 +4263,9 @@ CONFIG_MFD_PHYTIUM_I2S_MMD=y # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_RT5120 is not set # CONFIG_MFD_RC5T583 is not set -CONFIG_MFD_RK8XX=y -CONFIG_MFD_RK8XX_I2C=y -CONFIG_MFD_RK8XX_SPI=y +# CONFIG_MFD_RK8XX is not set +# CONFIG_MFD_RK8XX_I2C is not set +# CONFIG_MFD_RK8XX_SPI is not set # CONFIG_MFD_RN5T618 is not set CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set @@ -5106,7 +5106,7 @@ CONFIG_DRM_TI_SN65DSI86=m # CONFIG_DRM_TI_TPD12S015 is not set # CONFIG_DRM_ANALOGIX_ANX6345 is not set # CONFIG_DRM_ANALOGIX_ANX78XX is not set -CONFIG_DRM_ANALOGIX_ANX7625=m +# CONFIG_DRM_ANALOGIX_ANX7625 is not set CONFIG_DRM_I2C_ADV7511=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511_CEC=y @@ -8835,3 +8835,5 @@ CONFIG_VIDEO_PHYTIUM_VPU=y CONFIG_OHOS_VENDOR=n CONFIG_DRM_MWV207=y + +CONFIG_MEM_PURGEABLE=y diff --git a/device_board_phytium/common/patch/0001=build=add_phytium_whitelist.patch b/device_board_phytium/common/patch/0001=build=add_phytium_whitelist.patch index 42cb7ce5e9d293f2c3d24fd11c368ca81fbbbe3c..d6c318a9d7231d86985709565a7b7584f00f6e3c 100755 --- a/device_board_phytium/common/patch/0001=build=add_phytium_whitelist.patch +++ b/device_board_phytium/common/patch/0001=build=add_phytium_whitelist.patch @@ -1,5 +1,5 @@ diff --git a/compile_standard_whitelist.json b/compile_standard_whitelist.json -index 6a5175cb..09cf38e8 100644 +index a99942a7..941f27d4 100644 --- a/compile_standard_whitelist.json +++ b/compile_standard_whitelist.json @@ -6,6 +6,9 @@ @@ -12,7 +12,7 @@ index 6a5175cb..09cf38e8 100644 "vendor/hihope/ipcamera/ohos.build" ], "subsystem_components": [], -@@ -22,6 +25,7 @@ +@@ -21,6 +24,7 @@ "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_pipeline_core", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2:camera_host_vdi_impl_1.0", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2:camera_pipeline_config", @@ -20,7 +20,7 @@ index 6a5175cb..09cf38e8 100644 "//device/soc/rockchip/rk3568/hardware/codec/jpeg:libjpeg_vdi_impl", "//device/soc/rockchip/rk3568/hardware/codec:libcodec_oem_interface", "//device/soc/rockchip/rk3568/hardware/display:display_composer_vendor", -@@ -29,6 +33,12 @@ +@@ -28,6 +32,12 @@ "//device/soc/rockchip/rk3568/hardware/display:libdisplay_buffer_vdi_impl", "//device/soc/rockchip/rk3568/hardware/display:libdisplay_buffer_vendor", "//device/soc/rockchip/rk3568/hardware/display:libdisplay_composer_vdi_impl", @@ -33,7 +33,7 @@ index 6a5175cb..09cf38e8 100644 "//device/soc/rockchip/rk3568/hardware/mpp/mpp/legacy:librockchip_vpu", "//device/soc/rockchip/rk3568/hardware/omx_il/component/common:libRkOMX_Resourcemanager", "//device/soc/rockchip/rk3568/hardware/omx_il/component/video/dec:libomxvpu_dec", -@@ -116,12 +126,19 @@ +@@ -106,12 +116,19 @@ "//developtools/syscap_codec:syscap_tool_bin", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_pipeline_core", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2:camera_host_vdi_impl_1.0", @@ -53,7 +53,7 @@ index 6a5175cb..09cf38e8 100644 "//device/soc/rockchip/rk3568/hardware/mpp/mpp/hdi_mpp:hdi_mpp", "//device/soc/rockchip/rk3568/hardware/mpp/mpp/legacy:librockchip_vpu", "//device/soc/rockchip/rk3568/hardware/mpp/mpp/legacy:rockchip_vpu_src", -@@ -405,6 +422,7 @@ +@@ -382,6 +399,7 @@ "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_ipp_algo_example", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_pipeline_core", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2:camera_host_vdi_impl_1.0", @@ -61,7 +61,7 @@ index 6a5175cb..09cf38e8 100644 "//device/soc/rockchip/rk3568/hardware/codec/jpeg:libjpeg_vdi_impl", "//device/soc/rockchip/rk3568/hardware/codec:libcodec_oem_interface", "//device/soc/rockchip/rk3568/hardware/display:display_composer_vendor", -@@ -413,6 +431,12 @@ +@@ -390,6 +408,12 @@ "//device/soc/rockchip/rk3568/hardware/display:libdisplay_buffer_vendor", "//device/soc/rockchip/rk3568/hardware/display:libdisplay_composer_vdi_impl", "//device/soc/rockchip/rk3568/hardware/display:libhigbm_vendor", @@ -74,9 +74,9 @@ index 6a5175cb..09cf38e8 100644 "//device/soc/rockchip/rk3568/hardware/mpp/mpp/hdi_mpp:hdi_mpp", "//device/soc/rockchip/rk3568/hardware/mpp/mpp/legacy:rockchip_vpu_src", "//device/soc/rockchip/rk3568/hardware/omx_il/component/common:RkOMX_Basecomponent", -@@ -459,9 +483,16 @@ - "//base/update/updateservice/services/engine:updateservice", - "//developtools/hdc/test:hdc_common", +@@ -483,9 +507,16 @@ + "//base/security/huks/interfaces/inner_api/huks_lite:huks_server", + "//base/security/huks/utils/crypto_adapter:libhuks_utils_client_service_adapter_static", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_pipeline_core", + "//device/board/phytium/common/wifi/rtw8821:rtw88", "//device/soc/rockchip/rk3568/hardware/display:display_composer_vendor", diff --git a/device_board_phytium/common/patch/0002=base-startup-appspawn=fix-define-error.patch b/device_board_phytium/common/patch/0002=base-startup-appspawn=fix-define-error.patch index 9921c9253c21953ddea35ab7ff5dbfb1d4f10d44..84025df80836755308cc4fe8d9b24d7f398f45b7 100755 --- a/device_board_phytium/common/patch/0002=base-startup-appspawn=fix-define-error.patch +++ b/device_board_phytium/common/patch/0002=base-startup-appspawn=fix-define-error.patch @@ -1,19 +1,19 @@ diff --git a/modules/common/appspawn_adapter.cpp b/modules/common/appspawn_adapter.cpp -index 50dbcba..d8b14f4 100644 +index 67bc381..15b02dd 100644 --- a/modules/common/appspawn_adapter.cpp +++ b/modules/common/appspawn_adapter.cpp -@@ -61,9 +61,9 @@ int SetAppAccessToken(const AppSpawnMgr *content, const AppSpawningCtx *property +@@ -65,9 +65,9 @@ int SetAppAccessToken(const AppSpawnMgr *content, const AppSpawningCtx *property return 0; } +#if defined(WITH_SELINUX) && !defined(APPSPAWN_TEST) - APPSPAWN_STATIC int SetSelinuxConNweb(const AppSpawnMgr *content, const AppSpawningCtx *property) + int SetSelinuxConNweb(const AppSpawnMgr *content, const AppSpawningCtx *property) { -#if defined(WITH_SELINUX) && !defined(APPSPAWN_TEST) uint32_t len = 0; std::string processType = reinterpret_cast(GetAppPropertyExt(property, MSG_EXT_NAME_PROCESS_TYPE, &len)); -@@ -74,9 +74,9 @@ APPSPAWN_STATIC int SetSelinuxConNweb(const AppSpawnMgr *content, const AppSpawn +@@ -78,9 +78,9 @@ int SetSelinuxConNweb(const AppSpawnMgr *content, const AppSpawningCtx *property ret = setcon("u:r:isolated_gpu:s0"); } APPSPAWN_CHECK_ONLY_LOG(ret == 0, "Setcon failed, errno: %{public}d", errno); @@ -22,5 +22,5 @@ index 50dbcba..d8b14f4 100644 } +#endif - int SetSelinuxCon(const AppSpawnMgr *content, const AppSpawningCtx *property) - { + #ifdef WITH_SELINUX + void SetHapDomainInfo(HapDomainInfo *hapDomainInfo, const AppSpawningCtx *property, diff --git a/device_board_phytium/common/patch/0004=drivers-peripheral=support_alsa.patch b/device_board_phytium/common/patch/0004=drivers-peripheral=support_alsa.patch index 6b74ca9d171b0c1a5c9ee78cee4ee45b94228bfb..1be5ac23e45075858ffae4398483879e5b397882 100755 --- a/device_board_phytium/common/patch/0004=drivers-peripheral=support_alsa.patch +++ b/device_board_phytium/common/patch/0004=drivers-peripheral=support_alsa.patch @@ -1,24 +1,24 @@ diff --git a/audio/bundle.json b/audio/bundle.json -index 24baed4d0..2b7e7011e 100755 +index e013a0b88..8deaa8c6e 100755 --- a/audio/bundle.json +++ b/audio/bundle.json -@@ -45,7 +45,8 @@ - "build": { +@@ -52,7 +52,8 @@ "sub_component": [ "//drivers/peripheral/audio:hdi_audio", -- "//drivers/peripheral/audio/effect:effect_model" -+ "//drivers/peripheral/audio/effect:effect_model", + "//drivers/peripheral/audio/effect:effect_model", +- "//drivers/peripheral/audio:libaudio_header_static" ++ "//drivers/peripheral/audio:libaudio_header_static", + "//third_party/alsa-utils:alsa-utils" ], - "test": [ - "//drivers/peripheral/audio/test:audio_test_entry", + "inner_kits": [ + { diff --git a/audio/hdi_service/supportlibs/BUILD.gn b/audio/hdi_service/supportlibs/BUILD.gn -index 080713fca..d0086955c 100644 +index 43913338d..5242e0bae 100644 --- a/audio/hdi_service/supportlibs/BUILD.gn +++ b/audio/hdi_service/supportlibs/BUILD.gn -@@ -84,7 +84,9 @@ if (defined(ohos_lite)) { - "//device/hmos_emulator/hardware/audio/audio_alsa/vendor_capture.c", - ] +@@ -82,7 +82,9 @@ if (defined(ohos_lite)) { + sources += + [ "$hdf_audio_path/supportlibs/alsa_adapter/src/vendor_capture.c" ] } else { - sources += [ "//device/board/${product_company}/${device_name}/audio_alsa/vendor_capture.c" ] + sources += [ "//device/board/${product_company}/common/audio_alsa/vendor_capture.c", @@ -27,17 +27,9 @@ index 080713fca..d0086955c 100644 } } else { sources += [ -@@ -154,7 +156,6 @@ if (defined(ohos_lite)) { - "$hdf_audio_path/supportlibs/alsa_adapter/src/alsa_lib_render.c", - "$hdf_audio_path/supportlibs/alsa_adapter/src/alsa_snd_render.c", - "$hdf_audio_path/supportlibs/alsa_adapter/src/alsa_soundcard.c", -- "//device/board/${product_company}/${device_name}/audio_alsa/vendor_render.c", - "//third_party/cJSON/cJSON.c", - ] - if (defined(is_emulator) && is_emulator) { -@@ -162,7 +163,9 @@ if (defined(ohos_lite)) { - "//device/hmos_emulator/hardware/audio/audio_alsa/vendor_render.c", - ] +@@ -156,7 +158,9 @@ if (defined(ohos_lite)) { + sources += + [ "$hdf_audio_path/supportlibs/alsa_adapter/src/vendor_render.c" ] } else { - sources += [ "//device/board/${product_company}/${device_name}/audio_alsa/vendor_render.c" ] + sources += [ "//device/board/${product_company}/common/audio_alsa/vendor_render.c", @@ -67,10 +59,10 @@ index 850408a66..ab4c87bc1 100755 \ No newline at end of file +#endif /* ALSA_SOUNDCARD_H */ diff --git a/audio/supportlibs/alsa_adapter/src/alsa_soundcard.c b/audio/supportlibs/alsa_adapter/src/alsa_soundcard.c -index dab1bdb30..159eb3ae9 100644 +index e6bd6ebf1..31c3049cf 100644 --- a/audio/supportlibs/alsa_adapter/src/alsa_soundcard.c +++ b/audio/supportlibs/alsa_adapter/src/alsa_soundcard.c -@@ -887,6 +887,48 @@ static int32_t SetElementInfo(snd_ctl_t *alsaHandle, const struct AlsaMixerCtlEl +@@ -873,6 +873,48 @@ static int32_t SetElementInfo(snd_ctl_t *alsaHandle, const struct AlsaMixerCtlEl return HDF_SUCCESS; } @@ -119,20 +111,20 @@ index dab1bdb30..159eb3ae9 100644 int32_t SndElementReadInt(struct AlsaSoundCard *cardIns, const struct AlsaMixerCtlElement *ctlElem, long *value) { -@@ -1098,6 +1140,7 @@ int32_t SndElementWriteInt( +@@ -1075,6 +1117,7 @@ int32_t SndElementReadSwitch( + int32_t SndElementWriteInt( struct AlsaSoundCard *cardIns, const struct AlsaMixerCtlElement *ctlElem, long value) { - int ret; + unsigned int i,count; snd_ctl_t *alsaHandle = NULL; - snd_ctl_elem_id_t *elem_id; - snd_ctl_elem_info_t *elem_info; -@@ -1128,11 +1171,14 @@ int32_t SndElementWriteInt( + snd_ctl_elem_id_t *elem_id = NULL; + snd_ctl_elem_info_t *elem_info = NULL; +@@ -1104,11 +1147,14 @@ int32_t SndElementWriteInt( } snd_ctl_elem_value_set_id(elem_value, elem_id); + count = snd_ctl_elem_info_get_count(elem_info); - type = snd_ctl_elem_info_get_type(elem_info); + snd_ctl_elem_type_t type = snd_ctl_elem_info_get_type(elem_info); if (type == SND_CTL_ELEM_TYPE_INTEGER) { - snd_ctl_elem_value_set_integer(elem_value, 0, value); + for(i=0; i < count; i++) diff --git a/device_board_phytium/common/patch/0005=foundation-ability-ability_runtime=ability_runtime.patch b/device_board_phytium/common/patch/0005=foundation-ability-ability_runtime=ability_runtime.patch old mode 100755 new mode 100644 index 990cd62d805198d46e19ad73abec1c493d11877d..3ae35d14d94763e095178303449b3e4848677e79 --- a/device_board_phytium/common/patch/0005=foundation-ability-ability_runtime=ability_runtime.patch +++ b/device_board_phytium/common/patch/0005=foundation-ability-ability_runtime=ability_runtime.patch @@ -1,9 +1,9 @@ diff --git a/frameworks/native/appkit/app/main_thread.cpp b/frameworks/native/appkit/app/main_thread.cpp -index bf5ec9c..198dace 100644 +index 92355cbe0e..c5aa602c33 100644 --- a/frameworks/native/appkit/app/main_thread.cpp +++ b/frameworks/native/appkit/app/main_thread.cpp -@@ -168,6 +168,46 @@ const int32_t TYPE_RESERVE = 1; - const int32_t TYPE_OTHERS = 2; +@@ -194,6 +194,46 @@ constexpr int32_t PRELOAD_TASK_DELAY_TIME = 2000; //millisecond + #endif extern "C" int DFX_SetAppRunningUniqueId(const char* appRunningId, size_t len) __attribute__((weak)); + @@ -49,12 +49,11 @@ index bf5ec9c..198dace 100644 } // namespace void MainThread::GetNativeLibPath(const BundleInfo &bundleInfo, const HspList &hspList, AppLibPathMap &appLibPaths) -@@ -1374,7 +1414,8 @@ void MainThread::HandleLaunchApplication(const AppLaunchData &appLaunchData, con - #ifdef SUPPORT_GRAPHICS - TAG_LOGD( - AAFwkTag::APPKIT, "HandleLaunchApplication cacheDir: %{public}s", applicationContext->GetCacheDir().c_str()); +@@ -1446,7 +1486,7 @@ void MainThread::HandleLaunchApplication(const AppLaunchData &appLaunchData, con + application_->SetApplicationContext(applicationContext); + + #ifdef SUPPORT_SCREEN - OHOS::EglSetCacheDir(applicationContext->GetCacheDir()); -+ // OHOS::EglSetCacheDir(applicationContext->GetCacheDir()); + SetCacheDir(applicationContext->GetCacheDir()); #endif diff --git a/device_board_phytium/common/patch/0009=foundation-filemanagement-storage_service=auto_mount_usb_storage_device.patch b/device_board_phytium/common/patch/0009=foundation-filemanagement-storage_service=auto_mount_usb_storage_device.patch index 10f2e6be1fb5734e4a5306a4c81b861b2b1cba30..17094cc728e8cb70d0533f9100524be3f7e654bc 100755 --- a/device_board_phytium/common/patch/0009=foundation-filemanagement-storage_service=auto_mount_usb_storage_device.patch +++ b/device_board_phytium/common/patch/0009=foundation-filemanagement-storage_service=auto_mount_usb_storage_device.patch @@ -1,13 +1,11 @@ diff --git a/services/storage_daemon/disk_config b/services/storage_daemon/disk_config -index 8b65c1b6..8e1cf764 100644 +index 4395ebef..873560fb 100644 --- a/services/storage_daemon/disk_config +++ b/services/storage_daemon/disk_config -@@ -4,4 +4,8 @@ sysPattern /devices/platform/fd800000.usb/* label disk flag 0 - sysPattern /devices/platform/soc/f9890000.ehci/* label disk flag 0 - sysPattern /devices/platform/hi_mci.1/mmc_host/mmc1/* label disk flag 0 +@@ -6,3 +6,8 @@ sysPattern /devices/platform/hi_mci.1/mmc_host/mmc1/* label disk flag 0 sysPattern /devices/platform/hisi_usb/f8600000.dwc3/* label disk flag 0 --sysPattern /devices/platform/hiusb/hiusb_port/* label disk flag 0 -\ No newline at end of file + sysPattern /devices/platform/hiusb/hiusb_port/* label disk flag 0 + sysPattern /devices/platform/hisi_usb/f8400000.dwc3/* label disk flag 0 +sysPattern /devices/platform/hiusb/hiusb_port/* label disk flag 0 +sysPattern /devices/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:02.0/* label disk flag 0 +sysPattern /devices/platform/soc/40000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:02.0/* label disk flag 0 diff --git a/device_board_phytium/common/patch/0013=foundation-bundlemanager-bundle_framework=wukong_run.patch b/device_board_phytium/common/patch/0013=foundation-bundlemanager-bundle_framework=wukong_run.patch index 07410aa837b15a48159272193e69935f25560fde..21ba0b8c0f0e3b6b6525027a0aba35e824a6a1b1 100755 --- a/device_board_phytium/common/patch/0013=foundation-bundlemanager-bundle_framework=wukong_run.patch +++ b/device_board_phytium/common/patch/0013=foundation-bundlemanager-bundle_framework=wukong_run.patch @@ -1,16 +1,16 @@ diff --git a/services/bundlemgr/src/bundle_mgr_host_impl.cpp b/services/bundlemgr/src/bundle_mgr_host_impl.cpp -index 291b57c5c..3b922573d 100644 +index 374e29444..64a6094fc 100644 --- a/services/bundlemgr/src/bundle_mgr_host_impl.cpp +++ b/services/bundlemgr/src/bundle_mgr_host_impl.cpp -@@ -76,6 +76,7 @@ const std::string FUNCATION_GET_SHARED_BUNDLE_INFO_BY_SELF = "BundleMgrHostImpl: - const std::string FUNCATION_GET_HAP_MODULE_INFO = "BundleMgrHostImpl::GetHapModuleInfo"; - const std::string FUNCATION_BATCH_BUNDLE_INFO = "BundleMgrHostImpl::BatchGetBundleInfo"; - const std::string FUNCATION_GET_BUNDLE_INFO = "BundleMgrHostImpl::GetBundleInfo"; +@@ -72,6 +72,7 @@ const std::string PLUS = "+"; + const std::string AUTH_TITLE = " "; + const uint64_t BAD_CONTEXT_ID = 0; + const uint64_t VECTOR_SIZE_MAX = 200; +const int USE_ID = 100; } bool BundleMgrHostImpl::GetApplicationInfo( -@@ -436,8 +437,10 @@ bool BundleMgrHostImpl::GetBundleInfos(int32_t flags, std::vector &b +@@ -434,8 +435,10 @@ bool BundleMgrHostImpl::GetBundleInfos(int32_t flags, std::vector &b return true; } if (!BundlePermissionMgr::VerifyCallingPermissionForAll(Constants::PERMISSION_GET_BUNDLE_INFO_PRIVILEGED)) { @@ -23,7 +23,7 @@ index 291b57c5c..3b922573d 100644 } LOG_D(BMS_TAG_QUERY, "verify permission success, begin to GetBundleInfos"); if (!BundlePermissionMgr::IsNativeTokenType() && -@@ -921,8 +924,10 @@ bool BundleMgrHostImpl::QueryAllAbilityInfos(const Want &want, int32_t userId, s +@@ -1042,8 +1045,10 @@ bool BundleMgrHostImpl::QueryAllAbilityInfos(const Want &want, int32_t userId, s return true; } if (!BundlePermissionMgr::VerifyCallingPermissionForAll(Constants::PERMISSION_GET_BUNDLE_INFO_PRIVILEGED)) { diff --git a/device_board_phytium/common/patch/0014=foundation-multimedia-player_framework=disable-decoding-in-avmetadata.patch b/device_board_phytium/common/patch/0014=foundation-multimedia-player_framework=disable-decoding-in-avmetadata.patch index 1f85f4908f789f79bd3108796b628dd832eef04c..e45b8b4810ad30d791aee389d23542f4b992059a 100755 --- a/device_board_phytium/common/patch/0014=foundation-multimedia-player_framework=disable-decoding-in-avmetadata.patch +++ b/device_board_phytium/common/patch/0014=foundation-multimedia-player_framework=disable-decoding-in-avmetadata.patch @@ -1,8 +1,8 @@ diff --git a/services/engine/histreamer/avmetadatahelper/av_thumbnail_generator.cpp b/services/engine/histreamer/avmetadatahelper/av_thumbnail_generator.cpp -index 1c26d266c..f4c6dd2d4 100644 +index ccb98d1a0..52d423b4c 100644 --- a/services/engine/histreamer/avmetadatahelper/av_thumbnail_generator.cpp +++ b/services/engine/histreamer/avmetadatahelper/av_thumbnail_generator.cpp -@@ -99,7 +99,16 @@ Status AVThumbnailGenerator::InitDecoder() +@@ -130,7 +130,16 @@ Status AVThumbnailGenerator::InitDecoder() videoDecoder_->Start(); return Status::OK; } @@ -20,8 +20,8 @@ index 1c26d266c..f4c6dd2d4 100644 CHECK_AND_RETURN_RET_LOG(videoDecoder_ != nullptr, Status::ERROR_NO_MEMORY, "Create videoDecoder_ is nullptr"); Format trackFormat{}; trackFormat.SetMeta(GetVideoTrackInfo()); -@@ -627,4 +636,4 @@ void AVThumbnailGenerator::PauseFetchFrame() - videoDecoder_->Flush(); +@@ -817,4 +826,4 @@ void AVThumbnailGenerator::PauseFetchFrame() + FlushBufferQueue(); } } // namespace Media -} // namespace OHOS diff --git a/device_board_phytium/common/patch/0015=foundation-multimedia-av_codec=close-av_codec_service-sandbox.patch b/device_board_phytium/common/patch/0015=foundation-multimedia-av_codec=close-av_codec_service-sandbox.patch index 8bb1d90cd3fa51018ad9c11dde5141e30ccce3c0..558ccaad6cca37fdb2458b4de4ecc5e412e1e7be 100755 --- a/device_board_phytium/common/patch/0015=foundation-multimedia-av_codec=close-av_codec_service-sandbox.patch +++ b/device_board_phytium/common/patch/0015=foundation-multimedia-av_codec=close-av_codec_service-sandbox.patch @@ -1,7 +1,7 @@ -diff --git a/services/etc/av_codec_service.cfg b/services/etc/av_codec_service.cfg +diff --git a/services/etc/process.cfg b/services/etc/process.cfg index f72c618f4..ab40e51f5 100644 ---- a/services/etc/av_codec_service.cfg -+++ b/services/etc/av_codec_service.cfg +--- a/services/etc/process.cfg ++++ b/services/etc/process.cfg @@ -2,6 +2,7 @@ "services" : [{ "name" : "av_codec_service", diff --git a/device_board_phytium/common/patch/0015=foundation-multimedia-av_codec=modify-hcodec-for-histreamer.patch b/device_board_phytium/common/patch/0015=foundation-multimedia-av_codec=modify-hcodec-for-histreamer.patch index c8f3dfa9e3d997bbcd137e5475f8200107cd69bc..d0a68c25e8f86b88ac68a4c7144ffe3e99d61b57 100755 --- a/device_board_phytium/common/patch/0015=foundation-multimedia-av_codec=modify-hcodec-for-histreamer.patch +++ b/device_board_phytium/common/patch/0015=foundation-multimedia-av_codec=modify-hcodec-for-histreamer.patch @@ -1,20 +1,20 @@ diff --git a/services/engine/codec/video/fcodec/fcodec.cpp b/services/engine/codec/video/fcodec/fcodec.cpp -index e6d27e8db..e12dda69c 100644 +index f80fd0efb..d0827e541 100644 --- a/services/engine/codec/video/fcodec/fcodec.cpp +++ b/services/engine/codec/video/fcodec/fcodec.cpp -@@ -62,6 +62,7 @@ constexpr struct { +@@ -69,6 +69,7 @@ constexpr struct { const bool isEncoder; } SUPPORT_VCODEC[] = { {AVCodecCodecName::VIDEO_DECODER_AVC_NAME, CodecMimeType::VIDEO_AVC, "h264", false}, + {AVCodecCodecName::VIDEO_DECODER_HEVC_NAME, CodecMimeType::VIDEO_HEVC, "hevc", false}, - }; - constexpr uint32_t SUPPORT_VCODEC_NUM = sizeof(SUPPORT_VCODEC) / sizeof(SUPPORT_VCODEC[0]); - } // namespace + {AVCodecCodecName::VIDEO_DECODER_H263_NAME, CodecMimeType::VIDEO_H263, "h263", false}, + {AVCodecCodecName::VIDEO_DECODER_MPEG2_NAME, CodecMimeType::VIDEO_MPEG2, "mpeg2video", false}, + {AVCodecCodecName::VIDEO_DECODER_MPEG4_NAME, CodecMimeType::VIDEO_MPEG4, "mpeg4", false}, diff --git a/services/engine/codec/video/hcodec/hcodec.cpp b/services/engine/codec/video/hcodec/hcodec.cpp -index edee5452f..c41e6c39e 100644 +index a8db886a6..752d0bf38 100644 --- a/services/engine/codec/video/hcodec/hcodec.cpp +++ b/services/engine/codec/video/hcodec/hcodec.cpp -@@ -429,6 +429,7 @@ bool HCodec::GetPixelFmtFromUser(const Format &format) +@@ -471,6 +471,7 @@ bool HCodec::GetPixelFmtFromUser(const Format &format) } else { HLOGI("user don't set VideoPixelFormat, use default"); for (int32_t f : caps_.port.video.supportPixFmts) { @@ -22,15 +22,15 @@ index edee5452f..c41e6c39e 100644 fmt = TypeConverter::GraphicFmtToFmt(static_cast(f)); if (fmt.has_value()) { break; -@@ -900,6 +901,7 @@ void HCodec::OnQueueInputBuffer(BufferOperationMode mode, BufferInfo* info) +@@ -949,6 +950,7 @@ int32_t HCodec::OnQueueInputBuffer(BufferOperationMode mode, BufferInfo* info) if (eos) { inputPortEos_ = true; } + info->omxBuffer->flag |= OMX_BUFFERFLAG_ENDOFFRAME; - int32_t ret = NotifyOmxToEmptyThisInBuffer(*info); - if (ret != AVCS_ERR_OK) { - SignalError(AVCODEC_ERROR_INTERNAL, AVCS_ERR_UNKNOWN); -@@ -1366,4 +1368,4 @@ const char* HCodec::ToString(MsgWhat what) + return NotifyOmxToEmptyThisInBuffer(*info); + } + default: { +@@ -1441,4 +1443,4 @@ const char* HCodec::ToString(MsgWhat what) } return "UNKNOWN"; } @@ -38,22 +38,22 @@ index edee5452f..c41e6c39e 100644 \ No newline at end of file +} // namespace OHOS::MediaAVCodec diff --git a/services/media_engine/modules/sink/video_sink.cpp b/services/media_engine/modules/sink/video_sink.cpp -index 95e35a1c1..9761eabcd 100644 +index ebf6e4d26..522fc94a7 100644 --- a/services/media_engine/modules/sink/video_sink.cpp +++ b/services/media_engine/modules/sink/video_sink.cpp -@@ -184,6 +184,7 @@ int64_t VideoSink::CheckBufferLatenessMayWait(const std::shared_ptrflag_ & BUFFER_FLAG_KEY_FRAME) == 0); // buffer is too late, drop it + dropFlag = false; return dropFlag ? -1 : waitTimeUs; } diff --git a/services/media_engine/plugins/ffmpeg_adapter/demuxer/ffmpeg_demuxer_plugin.cpp b/services/media_engine/plugins/ffmpeg_adapter/demuxer/ffmpeg_demuxer_plugin.cpp -index 3344adae0..559a47f59 100644 +index 96afa5bfd..5a57d3fc0 100644 --- a/services/media_engine/plugins/ffmpeg_adapter/demuxer/ffmpeg_demuxer_plugin.cpp +++ b/services/media_engine/plugins/ffmpeg_adapter/demuxer/ffmpeg_demuxer_plugin.cpp -@@ -81,6 +81,7 @@ static const std::map g_seekModeToFFmpegSeekFlags = { +@@ -97,6 +97,7 @@ static const std::map g_seekModeToFFmpegSeekFlags = { static const std::map g_bitstreamFilterMap = { { AV_CODEC_ID_H264, "h264_mp4toannexb" }, @@ -61,12 +61,12 @@ index 3344adae0..559a47f59 100644 }; static const std::map g_streamParserMap = { -@@ -851,7 +852,7 @@ void FFmpegDemuxerPlugin::ConvertPacketToAnnexb(std::shared_ptr sample +@@ -567,7 +568,7 @@ Status FFmpegDemuxerPlugin::ConvertPacketToAnnexb(std::shared_ptr samp SetDropTag(*srcAVPacket, sample, AV_CODEC_ID_HEVC); } else if (codecId == AV_CODEC_ID_VVC && streamParser_ != nullptr && streamParserInited_) { - ConvertVvcToAnnexb(*srcAVPacket, dstSamplePacket); + ret = ConvertVvcToAnnexb(*srcAVPacket, dstSamplePacket); - } else if (codecId == AV_CODEC_ID_H264 && avbsfContext_ != nullptr) { + } else if ((codecId == AV_CODEC_ID_H264 || codecId == AV_CODEC_ID_HEVC) && avbsfContext_ != nullptr) { - ConvertAvcToAnnexb(*srcAVPacket); + ret = ConvertAvcToAnnexb(*srcAVPacket); SetDropTag(*srcAVPacket, sample, AV_CODEC_ID_H264); } diff --git a/device_board_phytium/common/patch/0017=foundation-graphic-graphic_2d=modify-bootanimation-for-histreamer.patch b/device_board_phytium/common/patch/0017=foundation-graphic-graphic_2d=modify-bootanimation-for-histreamer.patch index 24fc4b9c06c72e0fe3bcaeed1fd99b82bd263930..ecc14b7fd0b4b8f161933eb44708d15e58a8983b 100755 --- a/device_board_phytium/common/patch/0017=foundation-graphic-graphic_2d=modify-bootanimation-for-histreamer.patch +++ b/device_board_phytium/common/patch/0017=foundation-graphic-graphic_2d=modify-bootanimation-for-histreamer.patch @@ -1,20 +1,20 @@ diff --git a/frameworks/bootanimation/src/boot_animation_strategy.cpp b/frameworks/bootanimation/src/boot_animation_strategy.cpp -index 569e8577c5..a75613571c 100644 +index 429a0860cd..61832c6d8e 100644 --- a/frameworks/bootanimation/src/boot_animation_strategy.cpp +++ b/frameworks/bootanimation/src/boot_animation_strategy.cpp -@@ -33,6 +33,7 @@ bool BootAnimationStrategy::CheckExitAnimation() +@@ -34,6 +34,7 @@ bool BootAnimationStrategy::CheckExitAnimation() { if (!isAnimationEnd_) { LOGI("boot animation is end"); + usleep(SLEEP_TIME_US); - system::SetParameter(BOOT_ANIMATION_FINISHED, "true"); - isAnimationEnd_ = true; - } + if (!system::GetBoolParameter(BOOT_ANIMATION_STARTED, false)) { + system::SetParameter(BOOT_ANIMATION_STARTED, "true"); + } diff --git a/frameworks/bootanimation/src/boot_video_player.cpp b/frameworks/bootanimation/src/boot_video_player.cpp -index 70c0b2fbd3..d99386a128 100644 +index 7f5d4cea47..af7588afdd 100644 --- a/frameworks/bootanimation/src/boot_video_player.cpp +++ b/frameworks/bootanimation/src/boot_video_player.cpp -@@ -130,6 +130,15 @@ std::shared_ptr BootVideoPlayer::GetMediaPlayer() const +@@ -148,6 +148,14 @@ std::shared_ptr BootVideoPlayer::GetMediaPlayer() const void BootVideoPlayer::StopVideo() { @@ -26,7 +26,13 @@ index 70c0b2fbd3..d99386a128 100644 + LOGI("PlayVideo release"); + } +#endif -+ vSyncCallback_(userData_); } +@@ -242,4 +250,4 @@ void VideoPlayerCallback::OnOperateInfo(Media::PlayerOnInfoType type, int32_t ex + break; + } + } +-#endif +\ No newline at end of file ++#endif diff --git a/device_board_phytium/common/patch/0018=third_party-ffmpeg=enable-hevc-related-compilation-for-histreamer.patch b/device_board_phytium/common/patch/0018=third_party-ffmpeg=enable-hevc-related-compilation-for-histreamer.patch index e5d2a20c3ce40b748d86dd227dd23c101f9316e6..bf3f0e583617b55f044e83e3be2e3c9688210821 100755 --- a/device_board_phytium/common/patch/0018=third_party-ffmpeg=enable-hevc-related-compilation-for-histreamer.patch +++ b/device_board_phytium/common/patch/0018=third_party-ffmpeg=enable-hevc-related-compilation-for-histreamer.patch @@ -1,8 +1,8 @@ diff --git a/BUILD.gn b/BUILD.gn -index 8b1d21c959..6675fa300f 100644 +index b055e9faa8..b79a089c0d 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -32,6 +32,9 @@ libffmpeg_media_aarch64_sources = [ +@@ -38,6 +38,9 @@ libffmpeg_media_aarch64_sources = [ "//third_party/ffmpeg/libavcodec/aarch64/h264pred_neon.S", "//third_party/ffmpeg/libavcodec/aarch64/h264qpel_init_aarch64.c", "//third_party/ffmpeg/libavcodec/aarch64/h264qpel_neon.S", @@ -12,7 +12,7 @@ index 8b1d21c959..6675fa300f 100644 "//third_party/ffmpeg/libavcodec/aarch64/hpeldsp_init_aarch64.c", "//third_party/ffmpeg/libavcodec/aarch64/hpeldsp_neon.S", "//third_party/ffmpeg/libavcodec/aarch64/idctdsp_init_aarch64.c", -@@ -415,7 +418,9 @@ ohos_source_set("ffmpeg_dynamic") { +@@ -439,7 +442,9 @@ ohos_source_set("ffmpeg_dynamic") { # "//third_party/ffmpeg/libavcodec/dvenc.c", # "//third_party/ffmpeg/libavcodec/dxtory.c", # "//third_party/ffmpeg/libavcodec/dxv.c", @@ -22,8 +22,8 @@ index 8b1d21c959..6675fa300f 100644 + "//third_party/ffmpeg/libavcodec/dynamic_hdr10_plus.c", # "//third_party/ffmpeg/libavcodec/eac3_core_bsf.c", # "//third_party/ffmpeg/libavcodec/eac3_data.c", - # "//third_party/ffmpeg/libavcodec/eac3enc.c", -@@ -530,26 +535,26 @@ ohos_source_set("ffmpeg_dynamic") { + +@@ -556,26 +561,26 @@ ohos_source_set("ffmpeg_dynamic") { "//third_party/ffmpeg/libavcodec/h264qpel.c", # "//third_party/ffmpeg/libavcodec/h265_metadata_bsf.c", @@ -64,7 +64,7 @@ index 8b1d21c959..6675fa300f 100644 "//third_party/ffmpeg/libavcodec/hpeldsp.c", # "//third_party/ffmpeg/libavcodec/hq_hqa.c", -@@ -1214,7 +1219,7 @@ ohos_source_set("ffmpeg_dynamic") { +@@ -1243,7 +1248,7 @@ ohos_source_set("ffmpeg_dynamic") { # "//third_party/ffmpeg/libavformat/hdsenc.c", "//third_party/ffmpeg/libavformat/hevc.c", @@ -73,7 +73,7 @@ index 8b1d21c959..6675fa300f 100644 # "//third_party/ffmpeg/libavformat/hls.c", # "//third_party/ffmpeg/libavformat/hlsenc.c", # "//third_party/ffmpeg/libavformat/hlsplaylist.c", -@@ -1599,6 +1604,7 @@ ohos_source_set("ffmpeg_dynamic") { +@@ -1631,6 +1636,7 @@ ohos_source_set("ffmpeg_dynamic") { "//third_party/ffmpeg/libavutil/frame.c", "//third_party/ffmpeg/libavutil/hash.c", "//third_party/ffmpeg/libavutil/hdr_dynamic_metadata.c", @@ -81,20 +81,39 @@ index 8b1d21c959..6675fa300f 100644 "//third_party/ffmpeg/libavutil/hmac.c", "//third_party/ffmpeg/libavutil/hwcontext.c", "//third_party/ffmpeg/libavutil/imgutils.c", +diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c +index c09873c967..946db687d8 100644 +--- a/libavcodec/hevcdec.c ++++ b/libavcodec/hevcdec.c +@@ -628,10 +628,10 @@ static int hls_slice_header(HEVCContext *s) + + if (s->ps.pps->dependent_slice_segments_enabled_flag) + sh->dependent_slice_segment_flag = get_bits1(gb); +- if (sh->dependent_slice_segment_flag && !s->slice_initialized) { +- av_log(s->avctx, AV_LOG_ERROR, "Independent slice segment missing.\n"); +- return AVERROR_INVALIDDATA; +- } ++ if (sh->dependent_slice_segment_flag && !s->slice_initialized) { ++ av_log(s->avctx, AV_LOG_ERROR, "Independent slice segment missing.\n"); ++ return AVERROR_INVALIDDATA; ++ } + + slice_address_length = av_ceil_log2(s->ps.sps->ctb_width * + s->ps.sps->ctb_height); diff --git a/ohos_config.sh b/ohos_config.sh -index cd7e9ce554..f5585cf640 100755 +index 64880d438f..5719b36469 100755 --- a/ohos_config.sh +++ b/ohos_config.sh -@@ -52,14 +52,14 @@ FF_CONFIG_OPTIONS=" +@@ -55,14 +55,14 @@ FF_CONFIG_OPTIONS=" --disable-vulkan - --enable-demuxer=mp3,aac,ape,flac,ogg,wav,mov,mpegts,amr,amrnb,amrwb,matroska,flv,mpegps,asf,asf_o,srt,h264,webvtt - --enable-muxer=mp4,h264,ipod,amr,mpegts,mp3,wav,flac + --enable-demuxer=mp3,aac,ape,flac,ogg,wav,mov,mpegts,amr,amrnb,amrwb,matroska,flv,mpegps,asf,asf_o,srt,h264,webvtt,av3a,avi,mpegvideo + --enable-muxer=mp4,h264,ipod,amr,mpegts,mp3,wav,flac,av3a,adts - --enable-parser=h263,h264,mpeg4video,vp8,vp9,mpegvideo + --enable-parser=h263,h264,hevc,mpeg4video,vp8,vp9,mpegvideo --enable-parser=mpegaudio,aac,aac_latm,av3a,amr,opus - --enable-decoder=h263,h264,mpeg2video,mpeg4,vp8,vp9 + --enable-decoder=h263,h264,hevc,mpeg2video,mpeg4,vp8,vp9 - --enable-decoder=mp3,mp3float,aac,aac_latm,ape,flac,vorbis,opus,amrnb,amrwb + --enable-decoder=mp2,mp3,mp3float,aac,aac_latm,ape,flac,vorbis,opus,amrnb,amrwb --enable-decoder=png,bmp --enable-encoder=aac,aac_latm,opus,flac --enable-encoder=mpeg4,h263 diff --git a/device_board_phytium/common/patch/0020=build=ramdisk_image_conf.patch b/device_board_phytium/common/patch/0020=build=ramdisk_image_conf.patch index b91585c1aae62e91fba8471bb94b595d1355b02e..9f5fa6b04147c31fe756ccfc0f2528b6d85eeeea 100755 --- a/device_board_phytium/common/patch/0020=build=ramdisk_image_conf.patch +++ b/device_board_phytium/common/patch/0020=build=ramdisk_image_conf.patch @@ -5,6 +5,6 @@ index a5993a6b..f3c3b1f6 100755 @@ -1,4 +1,4 @@ /ramdisk -4718592 -+57185920 ++1073741824 --fs_type=cpio --dac_config ../../build/ohos/images/mkimage/dac.txt diff --git a/device_board_phytium/common/patch/0023=third_party-elfutils=build-libelf-so.patch b/device_board_phytium/common/patch/0023=third_party-elfutils=build-libelf-so.patch old mode 100755 new mode 100644 index e2b5e799b9f068456359058e8a16298de3f1db72..742ee23107b92b7fa8918b3c7fd24c84d8573644 --- a/device_board_phytium/common/patch/0023=third_party-elfutils=build-libelf-so.patch +++ b/device_board_phytium/common/patch/0023=third_party-elfutils=build-libelf-so.patch @@ -1,27 +1,28 @@ -From dfc01849cf16f22b4542297ac5c21b36108535df Mon Sep 17 00:00:00 2001 -From: tangkaiwen -Date: Fri, 25 Oct 2024 13:54:28 +0800 +From 9c5db9602142b2b6548fe01e12367843e071e168 Mon Sep 17 00:00:00 2001 +From: fovt +Date: Tue, 22 Apr 2025 13:51:23 +0800 Subject: [PATCH] build libelf so -Change-Id: I9866d68801c2173f8c4202107d9255ac1d5ad059 +Signed-off-by: fovt +Change-Id: I637659ba27222e4660fc9cd02452a7d8a23f955c --- BUILD.gn | 44 ++- - bundle.json | 8 +- + bundle.json | 4 +- config.h | 2 +- include/error.h | 60 +++ include/sys/cdefs.h | 891 ++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 1001 insertions(+), 4 deletions(-) + 5 files changed, 998 insertions(+), 3 deletions(-) create mode 100644 include/error.h create mode 100644 include/sys/cdefs.h diff --git a/BUILD.gn b/BUILD.gn -index 66650948..cd9ec49d 100644 +index b689ad14..084007ed 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -21,7 +21,12 @@ config("elfutils_defaults") { "NMNES=1000", ] - + - cflags = [ "-std=gnu99" ] + cflags = [ + "-std=gnu99" , @@ -30,12 +31,12 @@ index 66650948..cd9ec49d 100644 + "-Wno-implicit-function-declaration", + ] } - + config("elfutils_public_config") { -@@ -47,6 +52,43 @@ ohos_static_library("libelf_static") { +@@ -49,6 +54,43 @@ ohos_static_library("libelf_static") { part_name = "elfutils" } - + +# Build libelf +ohos_shared_library("libelf") { + @@ -77,18 +78,14 @@ index 66650948..cd9ec49d 100644 ohos_static_library("libdw_static") { configs = [ ":elfutils_defaults" ] diff --git a/bundle.json b/bundle.json -index c1b82294..6dc60f74 100644 +index f8febdae..6dc60f74 100644 --- a/bundle.json +++ b/bundle.json -@@ -22,8 +22,12 @@ - "rom": "", - "ram": "", - "deps": { -- "components": [], +@@ -25,7 +25,9 @@ + "components": [ + "zlib" + ], - "third_party": [] -+ "components": [ -+ "zlib" -+ ], + "third_party": [ + "zlib" + ] @@ -100,12 +97,12 @@ index 5030ef03..d7dadb7d 100644 --- a/config.h +++ b/config.h @@ -49,7 +49,7 @@ - + /* Define to 1 if you have the declaration of `rawmemchr', and to 0 if you don't. */ -#define HAVE_DECL_RAWMEMCHR 1 +// #define HAVE_DECL_RAWMEMCHR 1 - + /* Define to 1 if you have the declaration of `reallocarray', and to 0 if you don't. */ diff --git a/include/error.h b/include/error.h @@ -176,7 +173,7 @@ index 00000000..75a2c1a3 +#endif /* error.h */ diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h new file mode 100644 -index 00000000..9b7e179e +index 00000000..dba9d73a --- /dev/null +++ b/include/sys/cdefs.h @@ -0,0 +1,891 @@ @@ -1071,6 +1068,6 @@ index 00000000..9b7e179e +#endif + +#endif /* !_SYS_CDEFS_H_ */ --- +-- 2.25.1 diff --git a/device_board_phytium/common/patch/0024=build=vendor_image_conf.patch b/device_board_phytium/common/patch/0024=build=vendor_image_conf.patch index 3ea7e4b606983f64def0a4896e3510493583bf21..12a5d676561e4a22b1e091a10b6a486fb39ad049 100755 --- a/device_board_phytium/common/patch/0024=build=vendor_image_conf.patch +++ b/device_board_phytium/common/patch/0024=build=vendor_image_conf.patch @@ -5,7 +5,7 @@ index 5897e178..4f0b5c44 100644 @@ -1,5 +1,5 @@ /vendor -268434944 -+768434944 ++1073741824 --fs_type=ext4 --dac_config ../../build/ohos/images/mkimage/dac.txt --file_context obj/base/security/selinux_adapter/file_contexts.bin diff --git a/device_board_phytium/common/patch/0025=build=add_execscripts.patch b/device_board_phytium/common/patch/0025=build=add_execscripts.patch old mode 100755 new mode 100644 index a17960ff79eae99e2fefddaf146d29fa59cae435..d39087323bf3940222a9d2e976be014053d636a9 --- a/device_board_phytium/common/patch/0025=build=add_execscripts.patch +++ b/device_board_phytium/common/patch/0025=build=add_execscripts.patch @@ -1,13 +1,14 @@ diff --git a/core/gn/ohos_exec_script_allowlist.gni b/core/gn/ohos_exec_script_allowlist.gni -index 8b97f4a1..aa4e7e65 100644 +index 8b97f4a1..be9df5c1 100644 --- a/core/gn/ohos_exec_script_allowlist.gni +++ b/core/gn/ohos_exec_script_allowlist.gni -@@ -199,5 +199,8 @@ ohos_exec_script_config = { +@@ -199,5 +199,9 @@ ohos_exec_script_config = { "//build_plugins/config/ios/ios_sdk.gni", "//build_plugins/templates/java/rules.gni", "//build_plugins/templates/java/internal_rules.gni", + "//vendor/phytium/tenglong_e/hdf_config/uhdf/BUILD.gn", + "//vendor/phytium/tengrui_d/hdf_config/uhdf/BUILD.gn", ++ "//vendor/phytium/tengrui_m/hdf_config/uhdf/BUILD.gn", + "//vendor/phytium/phytiumpi-firefly/hdf_config/uhdf/BUILD.gn", ] } diff --git a/device_board_phytium/common/patch/0027=foundation-graphic-graphic_2d=multi-gpu-support.patch b/device_board_phytium/common/patch/0027=foundation-graphic-graphic_2d=multi-gpu-support.patch index e5a7c2e6e3d869fc337bf7abe520b3586f4537f1..078e59a55379e6ed6b47ca402b202107f037f962 100755 --- a/device_board_phytium/common/patch/0027=foundation-graphic-graphic_2d=multi-gpu-support.patch +++ b/device_board_phytium/common/patch/0027=foundation-graphic-graphic_2d=multi-gpu-support.patch @@ -1,11 +1,11 @@ diff --git a/bundle.json b/bundle.json -index 663faa6a1e..8d4232905b 100644 +index 2e4f7275a6..aea99d15a5 100644 --- a/bundle.json +++ b/bundle.json -@@ -103,12 +103,15 @@ +@@ -116,12 +116,15 @@ + "graphic_2d_ext" ], "third_party": [ - "flutter", - "skia" + "skia", + "libdrm", @@ -20,7 +20,7 @@ index 663faa6a1e..8d4232905b 100644 "//foundation/graphic/graphic_2d/interfaces/kits/napi:napi_packages", "//foundation/graphic/graphic_2d/interfaces/kits/cj:ffi_packages", diff --git a/frameworks/opengl_wrapper/BUILD.gn b/frameworks/opengl_wrapper/BUILD.gn -index 3ef38985f8..df1ff18187 100644 +index 327af5e868..24206125d7 100644 --- a/frameworks/opengl_wrapper/BUILD.gn +++ b/frameworks/opengl_wrapper/BUILD.gn @@ -35,6 +35,7 @@ config("egl_config") { @@ -31,7 +31,7 @@ index 3ef38985f8..df1ff18187 100644 ] } -@@ -113,6 +114,14 @@ if (current_os != "ohos") { +@@ -118,6 +119,14 @@ if (current_os != "ohos") { if (is_emulator) { defines += [ "IS_EMULATOR" ] } @@ -46,7 +46,7 @@ index 3ef38985f8..df1ff18187 100644 output_name = "EGL" output_extension = "so" -@@ -123,6 +132,13 @@ if (current_os != "ohos") { +@@ -128,6 +137,13 @@ if (current_os != "ohos") { ## Build libEGL.so }}} @@ -89,7 +89,7 @@ index 167e01fae1..aeb7e910f4 100644 WLOGE("EglWrapperLoader Load Failed."); return false; diff --git a/frameworks/opengl_wrapper/src/EGL/egl_wrapper_entry.cpp b/frameworks/opengl_wrapper/src/EGL/egl_wrapper_entry.cpp -index af40b70efd..5566ea59af 100644 +index 3ab9c8cbf7..a72a374106 100644 --- a/frameworks/opengl_wrapper/src/EGL/egl_wrapper_entry.cpp +++ b/frameworks/opengl_wrapper/src/EGL/egl_wrapper_entry.cpp @@ -24,7 +24,11 @@ @@ -104,7 +104,7 @@ index af40b70efd..5566ea59af 100644 #include "thread_private_data_ctl.h" #include "window.h" #include "wrapper_log.h" -@@ -325,7 +329,11 @@ __eglMustCastToProperFunctionPointerType EglGetProcAddressImpl(const char *procn +@@ -328,7 +332,11 @@ __eglMustCastToProperFunctionPointerType EglGetProcAddressImpl(const char *procn return __eglMustCastToProperFunctionPointerType(addr); } @@ -116,14 +116,15 @@ index af40b70efd..5566ea59af 100644 void *func = loader.GetProcAddrFromDriver(procname); if (!func) { -diff --git a/rosen/modules/render_service/core/pipeline/rs_base_render_util.cpp b/rosen/modules/render_service/core/pipeline/rs_base_render_util.cpp -index 6b3bcb295a..b03a8f2e31 100644 ---- a/rosen/modules/render_service/core/pipeline/rs_base_render_util.cpp -+++ b/rosen/modules/render_service/core/pipeline/rs_base_render_util.cpp -@@ -848,6 +848,51 @@ bool RSBaseRenderUtil::IsNeedClient(RSRenderNode& node, const ComposeInfo& info) +diff --git a/rosen/modules/render_service/core/pipeline/render_thread/rs_base_render_util.cpp b/rosen/modules/render_service/core/pipeline/render_thread/rs_base_render_util.cpp +index 5129d634fa..2940fd51bf 100644 +--- a/rosen/modules/render_service/core/pipeline/render_thread/rs_base_render_util.cpp ++++ b/rosen/modules/render_service/core/pipeline/render_thread/rs_base_render_util.cpp +@@ -864,6 +864,53 @@ bool RSBaseRenderUtil::IsNeedClient(RSRenderNode& node, const ComposeInfo& info) return false; } ++ +static char *gpu_env_path = nullptr; +static int ginit_gpu = -1; +static bool isJMgpu(){ @@ -169,18 +170,19 @@ index 6b3bcb295a..b03a8f2e31 100644 + return false; +} + - BufferRequestConfig RSBaseRenderUtil::GetFrameBufferRequestConfig(const ScreenInfo& screenInfo, bool isPhysical, ++ + BufferRequestConfig RSBaseRenderUtil::GetFrameBufferRequestConfig(const ScreenInfo& screenInfo, bool isProtected, GraphicColorGamut colorGamut, GraphicPixelFormat pixelFormat) { -@@ -858,6 +903,11 @@ BufferRequestConfig RSBaseRenderUtil::GetFrameBufferRequestConfig(const ScreenIn +@@ -874,6 +921,11 @@ BufferRequestConfig RSBaseRenderUtil::GetFrameBufferRequestConfig(const ScreenIn config.height = static_cast(height); config.strideAlignment = 0x8; // default stride is 8 Bytes. - config.colorGamut = isPhysical ? colorGamut : static_cast(screenInfo.colorGamut); + config.colorGamut = colorGamut; + if(isJMgpu()){ + pixelFormat = GRAPHIC_PIXEL_FMT_BGRA_8888; + }else{ + pixelFormat = GRAPHIC_PIXEL_FMT_RGBA_8888; + } - config.format = isPhysical ? pixelFormat : screenInfo.pixelFormat; + config.format = pixelFormat; config.usage = BUFFER_USAGE_CPU_READ | BUFFER_USAGE_MEM_DMA | BUFFER_USAGE_MEM_FB; if (isProtected) { diff --git a/device_board_phytium/common/patch/0029=base-theme-screenlock_mgr=add_retrytimes.patch b/device_board_phytium/common/patch/0029=base-theme-screenlock_mgr=add_retrytimes.patch index ed4f14c250225818eaccbf57f40c4a7ed71c9361..bffc729d60f0502a5857d463453d3b05c0b07004 100755 --- a/device_board_phytium/common/patch/0029=base-theme-screenlock_mgr=add_retrytimes.patch +++ b/device_board_phytium/common/patch/0029=base-theme-screenlock_mgr=add_retrytimes.patch @@ -1,8 +1,8 @@ diff --git a/services/src/screenlock_system_ability.cpp b/services/src/screenlock_system_ability.cpp -index 307f447..abda996 100644 +index c605423..994c3fa 100644 --- a/services/src/screenlock_system_ability.cpp +++ b/services/src/screenlock_system_ability.cpp -@@ -222,7 +222,7 @@ void ScreenLockSystemAbility::OnSystemReady() +@@ -366,7 +366,7 @@ void ScreenLockSystemAbility::OnSystemReady() { SCLOCK_HILOGI("ScreenLockSystemAbility OnSystemReady started."); bool isExitFlag = false; @@ -11,10 +11,3 @@ index 307f447..abda996 100644 int minTryTime = 0; while (!isExitFlag && (tryTime > minTryTime)) { if (systemEventListener_ != nullptr && systemReady_) { -@@ -613,4 +613,4 @@ bool ScreenLockSystemAbility::CheckPermission(const std::string &permissionName) - return true; - } - } // namespace ScreenLock --} // namespace OHOS -\ No newline at end of file -+} // namespace OHOS diff --git a/device_board_phytium/common/patch/0030=foundation-multimedia-av_codec=modify-fcodec-for-histreamer.patch b/device_board_phytium/common/patch/0030=foundation-multimedia-av_codec=modify-fcodec-for-histreamer.patch old mode 100755 new mode 100644 index 0ceb94c39dbd0a0dc1a1646c9ec28ce8ff011f81..e9da600a4984d98939d3534727713b08dafa36c6 --- a/device_board_phytium/common/patch/0030=foundation-multimedia-av_codec=modify-fcodec-for-histreamer.patch +++ b/device_board_phytium/common/patch/0030=foundation-multimedia-av_codec=modify-fcodec-for-histreamer.patch @@ -1,10 +1,10 @@ diff --git a/services/engine/codec/video/fcodec/fcodec.cpp b/services/engine/codec/video/fcodec/fcodec.cpp -index e6d27e8db..ca0a98cad 100644 +index 57e1dffe7..7ed2a4877 100644 --- a/services/engine/codec/video/fcodec/fcodec.cpp +++ b/services/engine/codec/video/fcodec/fcodec.cpp -@@ -639,7 +639,8 @@ int32_t FCodec::SetSurfaceCfg(int32_t bufferCnt) - CHECK_AND_RETURN_RET_LOG(sInfo_.surface->SetQueueSize(bufferCnt) == OHOS::SurfaceError::SURFACE_ERROR_OK, - AVCS_ERR_NO_MEMORY, "Surface set QueueSize=%{public}d failed", bufferCnt); +@@ -705,7 +705,8 @@ int32_t FCodec::AllocateInputBuffer(int32_t bufferCnt, int32_t inBufferSize) + int32_t FCodec::SetSurfaceCfg() + { if (outputPixelFmt_ == VideoPixelFormat::UNKNOWN) { - format_.PutIntValue(MediaDescriptionKey::MD_KEY_PIXEL_FORMAT, static_cast(VideoPixelFormat::NV12)); + outputPixelFmt_ = VideoPixelFormat::RGBA; diff --git a/device_board_phytium/common/patch/0031=third_party-alsa-lib=add-alsa-lib-feature.patch b/device_board_phytium/common/patch/0031=third_party-alsa-lib=add-alsa-lib-feature.patch new file mode 100644 index 0000000000000000000000000000000000000000..5aa09ea21bb0c0eb86012fa2db143454df6fb048 --- /dev/null +++ b/device_board_phytium/common/patch/0031=third_party-alsa-lib=add-alsa-lib-feature.patch @@ -0,0 +1,45 @@ +diff --git a/BUILD.gn b/BUILD.gn +index 23a8e720..17a28fd3 100644 +--- a/BUILD.gn ++++ b/BUILD.gn +@@ -13,6 +13,10 @@ + + import("//build/ohos.gni") + ++declare_args() { ++ alsa_lib_feature_config_enable = false ++} ++ + config("alsa_lib_header") { + include_dirs = [ + "//third_party/alsa-lib/include", +@@ -183,10 +187,12 @@ ohos_shared_library("libasound") { + ] + + configs = [ ":alsa_lib_config" ] +- deps = [ +- # conf files +- "src/conf:alsa-lib-prebuilt-all", +- ] ++ if (alsa_lib_feature_config_enable) { ++ deps = [ ++ # conf files ++ "src/conf:alsa-lib-prebuilt-all", ++ ] ++ } + public_configs = [ ":alsa_lib_header" ] + output_extension = "so" + install_images = [ chipset_base_dir ] +diff --git a/bundle.json b/bundle.json +index 1db6e75d..bdb211ea 100644 +--- a/bundle.json ++++ b/bundle.json +@@ -18,7 +18,7 @@ + "name": "alsa-lib", + "subsystem": "thirdparty", + "syscap": [], +- "features": [], ++ "features": [ "alsa_lib_feature_config_enable" ], + "adapted_system_type": [ "standard" ], + "rom": "950KB", + "ram": "988KB", diff --git a/device_board_phytium/common/patch/0033=foundation-communication-wifi=disable-p2p.patch b/device_board_phytium/common/patch/0033=foundation-communication-wifi=disable-p2p.patch index 0275065d393fa1e77b0e7f7564486c6d99b0eebe..3bc18a6b24b4f6c910e8328e25cd5f863fd1f746 100755 --- a/device_board_phytium/common/patch/0033=foundation-communication-wifi=disable-p2p.patch +++ b/device_board_phytium/common/patch/0033=foundation-communication-wifi=disable-p2p.patch @@ -1,13 +1,13 @@ diff --git a/wifi/wifi.gni b/wifi/wifi.gni -index 5cd865d71..5a8f75df5 100644 +index e54029250..71dc49163 100644 --- a/wifi/wifi.gni +++ b/wifi/wifi.gni -@@ -19,7 +19,7 @@ DHCP_ROOT_DIR = "$SUBSYSTEM_DIR/dhcp" - CONFIG_CTRL_IFACE = "unix" +@@ -19,7 +19,7 @@ CONFIG_CTRL_IFACE = "unix" declare_args() { + wifi_feature_dynamic_unload_sa = false - wifi_feature_with_p2p = true + wifi_feature_with_p2p = false + wifi_feature_with_rpt = true wifi_feature_with_ap_intf = "wlan" wifi_feature_with_ap_num = 1 - wifi_feature_with_sta_num = 1 diff --git a/device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-hdi-chip-supported.patch b/device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-hdi-chip-supported.patch index a944c4ae573bd07997095d817b63cc7a353035d2..fb63f382c287ebd9ea9bbe09b2896b3e1526b799 100755 --- a/device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-hdi-chip-supported.patch +++ b/device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-hdi-chip-supported.patch @@ -1,16 +1,16 @@ diff --git a/wifi/wifi.gni b/wifi/wifi.gni -index 5a8f75df5..9cf531294 100644 +index 71dc49163..b245261cd 100644 --- a/wifi/wifi.gni +++ b/wifi/wifi.gni -@@ -48,10 +48,7 @@ declare_args() { +@@ -52,10 +52,7 @@ declare_args() { wifi_feature_p2p_random_mac_addr = true - wifi_feature_powermgr_support = false + wifi_feature_with_hdi_chip_supported = false wifi_feature_with_sta_asset = true - if (defined(global_parts_info) && - defined(global_parts_info.hdf_drivers_interface_wlan)) { - wifi_feature_with_hdi_chip_supported = true - } -+ wifi_feature_with_hdi_chip_supported = false ++ wifi_feature_with_hdi_chip_supported = true + wifi_feature_with_vap_manager = true + wifi_feature_with_wifi_oeminfo_mac = false } - - memory_optimization_cflags = [ diff --git a/device_board_phytium/common/patch/0036=build=updater_ramdisk_image_conf_size.patch b/device_board_phytium/common/patch/0036=build=updater_ramdisk_image_conf_size.patch index a907becfedb1b0129b43bacf36b06b721de0c421..3935b17bb2962cd8626fb59d1aff5d752558c6b7 100644 --- a/device_board_phytium/common/patch/0036=build=updater_ramdisk_image_conf_size.patch +++ b/device_board_phytium/common/patch/0036=build=updater_ramdisk_image_conf_size.patch @@ -5,7 +5,7 @@ index 18705178..8dbbfb17 100644 @@ -1,5 +1,5 @@ /updater -33554432 -+46573375 ++1073741824 --fs_type=cpio --dac_config ../../build/ohos/images/mkimage/dac.txt --file_context obj/base/security/selinux_adapter/file_contexts.bin diff --git a/device_board_phytium/common/patch/0037=build=add_thirdparty_whitelist.patch b/device_board_phytium/common/patch/0037=build=add_thirdparty_whitelist.patch new file mode 100644 index 0000000000000000000000000000000000000000..f0df036f973887a2de327a9136d1eb6b50ecccd2 --- /dev/null +++ b/device_board_phytium/common/patch/0037=build=add_thirdparty_whitelist.patch @@ -0,0 +1,13 @@ +diff --git a/third_party_allow_list.json b/third_party_allow_list.json +index 0db5a6da..5309db22 100644 +--- a/third_party_allow_list.json ++++ b/third_party_allow_list.json +@@ -54,7 +54,7 @@ + "harfbuzz", + "qrcodegen", + "jerryscript", +- ++ "elfutils", + "resource_schedule_service", + "hilog", + diff --git a/device_board_phytium/phytiumpi-firefly/cfg/init.phytiumpi-firefly.cfg b/device_board_phytium/phytiumpi-firefly/cfg/init.phytiumpi-firefly.cfg index dd3c6c923973b5545c2a26dd8304a4f89006e58d..0e0cbb6bba1827f0bc280542402617362e598509 100755 --- a/device_board_phytium/phytiumpi-firefly/cfg/init.phytiumpi-firefly.cfg +++ b/device_board_phytium/phytiumpi-firefly/cfg/init.phytiumpi-firefly.cfg @@ -37,7 +37,9 @@ "setparam persist.hdc.port 8710", "setparam persist.hdc.root 1", "setparam persist.hdc.mode.tcp enable", - "setparam const.security.developermode.state true" + "setparam const.security.developermode.state true", + "setparam persist.multimedia.audio.ringtonevolume 15", + "setparam ohos.boot.reboot_reason UNKNOWN" ] }, { "name" : "post-fs-data", diff --git a/device_board_phytium/tenglong_e/cfg/init.tenglong_e.cfg b/device_board_phytium/tenglong_e/cfg/init.tenglong_e.cfg index 42586573f1965303d5ba5a567a6a380a5560e56d..649a0c9b28f4548dccccfe081c9a6cfa17bdb48d 100755 --- a/device_board_phytium/tenglong_e/cfg/init.tenglong_e.cfg +++ b/device_board_phytium/tenglong_e/cfg/init.tenglong_e.cfg @@ -37,7 +37,9 @@ "setparam persist.hdc.port 8710", "setparam persist.hdc.root 1", "setparam persist.hdc.mode.tcp enable", - "setparam const.security.developermode.state true" + "setparam const.security.developermode.state true", + "setparam persist.multimedia.audio.ringtonevolume 15", + "setparam ohos.boot.reboot_reason UNKNOWN" ] }, { "name" : "post-fs-data", diff --git a/device_board_phytium/tengrui_d/cfg/init.tengrui_d.cfg b/device_board_phytium/tengrui_d/cfg/init.tengrui_d.cfg index 1e6c85aa96b48e6f5db3de8f05db2fa90f9f5f0c..cdfe4f3fb56fa20991154441a0dad1e8d8ceb8ea 100755 --- a/device_board_phytium/tengrui_d/cfg/init.tengrui_d.cfg +++ b/device_board_phytium/tengrui_d/cfg/init.tengrui_d.cfg @@ -37,7 +37,9 @@ "setparam persist.hdc.port 8710", "setparam persist.hdc.root 1", "setparam persist.hdc.mode.tcp enable", - "setparam const.security.developermode.state true" + "setparam const.security.developermode.state true", + "setparam persist.multimedia.audio.ringtonevolume 15", + "setparam ohos.boot.reboot_reason UNKNOWN" ] }, { "name" : "post-fs-data", diff --git a/device_soc_phytium/common/hardware/display/BUILD.gn b/device_soc_phytium/common/hardware/display/BUILD.gn index 03afbf5ae64c208c58e47f9c3e20f09addf7bc40..20d8800870ec1ef36621e16a796cf9208ceeb972 100755 --- a/device_soc_phytium/common/hardware/display/BUILD.gn +++ b/device_soc_phytium/common/hardware/display/BUILD.gn @@ -64,6 +64,7 @@ ohos_shared_library("libdisplay_buffer_vdi_impl") { install_enable = true install_images = [ chipset_base_dir ] innerapi_tags = [ "passthrough" ] + subsystem_name = "hdf" part_name = "device_${device_name}" } @@ -162,6 +163,7 @@ ohos_shared_library("libdisplay_composer_vdi_impl") { external_deps = [ "c_utils:utils", "drivers_interface_display:display_composer_idl_headers", + "drivers_interface_display:libdisplay_composer_proxy_1.2", "graphic_surface:buffer_handle", "hilog:libhilog", "ipc:ipc_single", diff --git a/device_soc_phytium/common/hardware/display/src/display_device/display_composer_vdi_impl.cpp b/device_soc_phytium/common/hardware/display/src/display_device/display_composer_vdi_impl.cpp index 74d94fdb6b9fe74117dd9ab7a9ada3f0a315b81e..4600c57c0b62929397e53141a52adbce64bdf45c 100755 --- a/device_soc_phytium/common/hardware/display/src/display_device/display_composer_vdi_impl.cpp +++ b/device_soc_phytium/common/hardware/display/src/display_device/display_composer_vdi_impl.cpp @@ -23,8 +23,6 @@ namespace HDI { namespace DISPLAY { DisplayComposerVdiImpl::DisplayComposerVdiImpl() { - DISPLAY_LOGD(); - composerModel_ = &HdiSession::GetInstance(); } DisplayComposerVdiImpl::~DisplayComposerVdiImpl() @@ -33,28 +31,24 @@ DisplayComposerVdiImpl::~DisplayComposerVdiImpl() int32_t DisplayComposerVdiImpl::RegHotPlugCallback(HotPlugCallback cb, void* data) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - composerModel_->RegHotPlugCallback(cb, data); + HdiSession::GetInstance().RegHotPlugCallback(cb, data); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::GetDisplayCapability(uint32_t devId, DisplayCapability& info) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplayCapability, &info); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplayCapability, &info); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::GetDisplaySupportedModes(uint32_t devId, std::vector& modes) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); + std::lock_guard lock(mMutex); DisplayModeInfo* placeHoler = nullptr; uint32_t num = 0; - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplaySupportedModes, + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplaySupportedModes, &num, placeHoler); if (ec != DISPLAY_SUCCESS) { DISPLAY_LOGE("failed, ec=%{public}d", ec); @@ -62,7 +56,8 @@ int32_t DisplayComposerVdiImpl::GetDisplaySupportedModes(uint32_t devId, std::ve } if (num != 0) { modes.resize(num); - ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplaySupportedModes, &num, modes.data()); + ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplaySupportedModes, &num, + modes.data()); } DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; @@ -70,76 +65,72 @@ int32_t DisplayComposerVdiImpl::GetDisplaySupportedModes(uint32_t devId, std::ve int32_t DisplayComposerVdiImpl::GetDisplayMode(uint32_t devId, uint32_t& modeId) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplayMode, &modeId); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplayMode, &modeId); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetDisplayMode(uint32_t devId, uint32_t modeId) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::SetDisplayMode, modeId); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::SetDisplayMode, modeId); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::GetDisplayPowerStatus(uint32_t devId, DispPowerStatus& status) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplayPowerStatus, &status); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplayPowerStatus, &status); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetDisplayPowerStatus(uint32_t devId, DispPowerStatus status) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::SetDisplayPowerStatus, status); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::SetDisplayPowerStatus, status); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::GetDisplayBacklight(uint32_t devId, uint32_t& level) { - DISPLAY_LOGD(); - DISPLAY_LOGD("%{public}s is not supported", __func__); - return HDF_ERR_NOT_SUPPORT; + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplayBacklight, &level); + DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); + return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetDisplayBacklight(uint32_t devId, uint32_t level) { - DISPLAY_LOGD(); - DISPLAY_LOGD("%{public}s is not supported", __func__); - return HDF_ERR_NOT_SUPPORT; + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::SetDisplayBacklight, level); + DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); + return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::GetDisplayProperty(uint32_t devId, uint32_t id, uint64_t& value) { - DISPLAY_LOGD(); - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::GetDisplayCompChange(uint32_t devId, std::vector& layers, std::vector& types) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); + std::lock_guard lock(mMutex); uint32_t* layersHoler = nullptr; int32_t* typesHoler = nullptr; uint32_t num = 0; - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplayCompChange, &num, layersHoler, - typesHoler); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplayCompChange, &num, + layersHoler, typesHoler); if (ec == HDF_SUCCESS && num != 0) { layers.resize(num); types.resize(num); - ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplayCompChange, &num, layers.data(), - types.data()); + ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplayCompChange, &num, + layers.data(), types.data()); } DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; @@ -147,41 +138,37 @@ int32_t DisplayComposerVdiImpl::GetDisplayCompChange(uint32_t devId, std::vector int32_t DisplayComposerVdiImpl::SetDisplayClientCrop(uint32_t devId, const IRect& rect) { - DISPLAY_LOGD(); - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::SetDisplayClientBuffer(uint32_t devId, const BufferHandle& buffer, int32_t fence) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::SetDisplayClientBuffer, &buffer, fence); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::SetDisplayClientBuffer, &buffer, + fence); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetDisplayClientDamage(uint32_t devId, std::vector& rects) { - DISPLAY_LOGD(); - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::SetDisplayVsyncEnabled(uint32_t devId, bool enabled) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::SetDisplayVsyncEnabled, enabled); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::SetDisplayVsyncEnabled, enabled); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::RegDisplayVBlankCallback(uint32_t devId, VBlankCallback cb, void* data) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::RegDisplayVBlankCallback, cb, data); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::RegDisplayVBlankCallback, cb, data); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } @@ -189,18 +176,17 @@ int32_t DisplayComposerVdiImpl::RegDisplayVBlankCallback(uint32_t devId, VBlankC int32_t DisplayComposerVdiImpl::GetDisplayReleaseFence(uint32_t devId, std::vector& layers, std::vector& fences) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); + std::lock_guard lock(mMutex); uint32_t* layersHoler = nullptr; int32_t* typesHoler = nullptr; uint32_t num = 0; - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplayReleaseFence, &num, layersHoler, - typesHoler); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplayReleaseFence, &num, + layersHoler, typesHoler); if (ec == HDF_SUCCESS && num != 0) { layers.resize(num); fences.resize(num); - ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::GetDisplayReleaseFence, &num, layers.data(), - fences.data()); + ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::GetDisplayReleaseFence, &num, + layers.data(), fences.data()); } DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; @@ -208,69 +194,64 @@ int32_t DisplayComposerVdiImpl::GetDisplayReleaseFence(uint32_t devId, std::vect int32_t DisplayComposerVdiImpl::CreateVirtualDisplay(uint32_t width, uint32_t height, int32_t& format, uint32_t& devId) { - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::DestroyVirtualDisplay(uint32_t devId) { - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::SetVirtualDisplayBuffer(uint32_t devId, const BufferHandle& buffer, const int32_t fence) { - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::SetDisplayProperty(uint32_t devId, uint32_t id, uint64_t value) { - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::Commit(uint32_t devId, int32_t& fence) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::Commit, &fence); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::Commit, &fence); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::CreateLayer(uint32_t devId, const LayerInfo& layerInfo, uint32_t& layerId) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::CreateLayer, &layerInfo, &layerId); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::CreateLayer, &layerInfo, &layerId); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::DestroyLayer(uint32_t devId, uint32_t layerId) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::DestroyLayer, layerId); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::DestroyLayer, layerId); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::PrepareDisplayLayers(uint32_t devId, bool& needFlushFb) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::PrepareDisplayLayers, &needFlushFb); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::PrepareDisplayLayers, &needFlushFb); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetLayerAlpha(uint32_t devId, uint32_t layerId, const LayerAlpha& alpha) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerAlpha, + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerAlpha, const_cast(&alpha)); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; @@ -278,9 +259,8 @@ int32_t DisplayComposerVdiImpl::SetLayerAlpha(uint32_t devId, uint32_t layerId, int32_t DisplayComposerVdiImpl::SetLayerRegion(uint32_t devId, uint32_t layerId, const IRect& rect) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerRegion, + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerRegion, const_cast(&rect)); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; @@ -288,45 +268,41 @@ int32_t DisplayComposerVdiImpl::SetLayerRegion(uint32_t devId, uint32_t layerId, int32_t DisplayComposerVdiImpl::SetLayerCrop(uint32_t devId, uint32_t layerId, const IRect& rect) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerCrop, const_cast(&rect)); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerCrop, + const_cast(&rect)); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetLayerZorder(uint32_t devId, uint32_t layerId, uint32_t zorder) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallDisplayFunction(devId, &HdiDisplay::SetLayerZorder, layerId, zorder); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallDisplayFunction(devId, &HdiDisplay::SetLayerZorder, layerId, zorder); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetLayerPreMulti(uint32_t devId, uint32_t layerId, bool preMul) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerPreMulti, preMul); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerPreMulti, preMul); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetLayerTransformMode(uint32_t devId, uint32_t layerId, TransformType type) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerTransformMode, type); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerTransformMode, type); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetLayerDirtyRegion(uint32_t devId, uint32_t layerId, const std::vector& rects) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerDirtyRegion, + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerDirtyRegion, const_cast(rects.data())); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; @@ -334,49 +310,59 @@ int32_t DisplayComposerVdiImpl::SetLayerDirtyRegion(uint32_t devId, uint32_t lay int32_t DisplayComposerVdiImpl::SetLayerVisibleRegion(uint32_t devId, uint32_t layerId, std::vector& rects) { - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::SetLayerBuffer(uint32_t devId, uint32_t layerId, const BufferHandle& buffer, int32_t fence) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); + std::lock_guard lock(mMutex); const BufferHandle* holder = &buffer; - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerBuffer, holder, fence); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerBuffer, holder, fence); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetLayerCompositionType(uint32_t devId, uint32_t layerId, CompositionType type) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerCompositionType, type); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerCompositionType, type); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetLayerBlendType(uint32_t devId, uint32_t layerId, BlendType type) { - DISPLAY_LOGD(); - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - int32_t ec = composerModel_->CallLayerFunction(devId, layerId, &HdiLayer::SetLayerBlendType, type); + std::lock_guard lock(mMutex); + int32_t ec = HdiSession::GetInstance().CallLayerFunction(devId, layerId, &HdiLayer::SetLayerBlendType, type); DISPLAY_CHK_RETURN(ec != DISPLAY_SUCCESS, HDF_FAILURE, DISPLAY_LOGE("failed, ec=%{public}d", ec)); return HDF_SUCCESS; } int32_t DisplayComposerVdiImpl::SetLayerMaskInfo(uint32_t devId, uint32_t layerId, const MaskInfo maskInfo) { - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } int32_t DisplayComposerVdiImpl::SetLayerColor(uint32_t devId, uint32_t layerId, const LayerColor& layerColor) { - CHECK_NULLPOINTER_RETURN_VALUE(composerModel_, HDF_FAILURE); - DISPLAY_LOGD("%{public}s is not supported", __func__); + DISPLAY_LOGE("%s layerColor: r=%{public}d, g=%{public}d, b=%{public}d, a=%{public}d", + __func__, layerColor.r, layerColor.g, layerColor.b, layerColor.a); + DISPLAY_LOGE("%s is not supported", __func__); + return HDF_ERR_NOT_SUPPORT; +} + +int32_t GetDumpInfo(std::string& result) +{ + DISPLAY_LOGI("%s is not supported", __func__); + return HDF_ERR_NOT_SUPPORT; +} + +int32_t UpdateConfig(std::string& result) +{ + DISPLAY_LOGI("%s is not supported", __func__); return HDF_ERR_NOT_SUPPORT; } @@ -389,6 +375,203 @@ extern "C" void DestroyComposerVdi(IDisplayComposerVdi* vdi) { delete vdi; } + +DisplayComposerVdiImpl& DisplayComposerVdiImpl::GetVdiInstance() +{ + static DisplayComposerVdiImpl vdiImpl; + return vdiImpl; +} + +extern "C" int32_t RegHotPlugCallback(HotPlugCallback cb, void* data) +{ + return DisplayComposerVdiImpl::GetVdiInstance().RegHotPlugCallback(cb, data); +} + +extern "C" int32_t GetDisplayCapability(uint32_t devId, V1_0::DisplayCapability& info) +{ + return DisplayComposerVdiImpl::GetVdiInstance().GetDisplayCapability(devId, info); +} + +extern "C" int32_t GetDisplaySupportedModes(uint32_t devId, std::vector& modes) +{ + return DisplayComposerVdiImpl::GetVdiInstance().GetDisplaySupportedModes(devId, modes); +} + +extern "C" int32_t GetDisplayMode(uint32_t devId, uint32_t& modeId) +{ + return DisplayComposerVdiImpl::GetVdiInstance().GetDisplayMode(devId, modeId); +} + +extern "C" int32_t SetDisplayMode(uint32_t devId, uint32_t modeId) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetDisplayMode(devId, modeId); +} + +extern "C" int32_t GetDisplayPowerStatus(uint32_t devId, V1_0::DispPowerStatus& status) +{ + return DisplayComposerVdiImpl::GetVdiInstance().GetDisplayPowerStatus(devId, status); +} + +extern "C" int32_t SetDisplayPowerStatus(uint32_t devId, V1_0::DispPowerStatus status) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetDisplayPowerStatus(devId, status); +} + +extern "C" int32_t GetDisplayBacklight(uint32_t devId, uint32_t& level) +{ + return DisplayComposerVdiImpl::GetVdiInstance().GetDisplayBacklight(devId, level); +} + +extern "C" int32_t SetDisplayBacklight(uint32_t devId, uint32_t level) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetDisplayBacklight(devId, level); +} + +extern "C" int32_t GetDisplayProperty(uint32_t devId, uint32_t id, uint64_t& value) +{ + return DisplayComposerVdiImpl::GetVdiInstance().GetDisplayProperty(devId, id, value); +} + +extern "C" int32_t GetDisplayCompChange(uint32_t devId, std::vector& layers, std::vector& types) +{ + return DisplayComposerVdiImpl::GetVdiInstance().GetDisplayCompChange(devId, layers, types); +} + +extern "C" int32_t SetDisplayClientCrop(uint32_t devId, const V1_0::IRect& rect) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetDisplayClientCrop(devId, rect); +} + +extern "C" int32_t SetDisplayClientBuffer(uint32_t devId, const BufferHandle& buffer, int32_t fence) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetDisplayClientBuffer(devId, buffer, fence); +} + +extern "C" int32_t SetDisplayClientDamage(uint32_t devId, std::vector& rects) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetDisplayClientDamage(devId, rects); +} + +extern "C" int32_t SetDisplayVsyncEnabled(uint32_t devId, bool enabled) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetDisplayVsyncEnabled(devId, enabled); +} + +extern "C" int32_t RegDisplayVBlankCallback(uint32_t devId, VBlankCallback cb, void* data) +{ + return DisplayComposerVdiImpl::GetVdiInstance().RegDisplayVBlankCallback(devId, cb, data); +} + +extern "C" int32_t GetDisplayReleaseFence(uint32_t devId, std::vector& layers, std::vector& fences) +{ + return DisplayComposerVdiImpl::GetVdiInstance().GetDisplayReleaseFence(devId, layers, fences); +} + +extern "C" int32_t CreateVirtualDisplay(uint32_t width, uint32_t height, int32_t& format, uint32_t& devId) +{ + return DisplayComposerVdiImpl::GetVdiInstance().CreateVirtualDisplay(width, height, format, devId); +} + +extern "C" int32_t DestroyVirtualDisplay(uint32_t devId) +{ + return DisplayComposerVdiImpl::GetVdiInstance().DestroyVirtualDisplay(devId); +} + +extern "C" int32_t SetVirtualDisplayBuffer(uint32_t devId, const BufferHandle& buffer, const int32_t fence) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetVirtualDisplayBuffer(devId, buffer, fence); +} + +extern "C" int32_t SetDisplayProperty(uint32_t devId, uint32_t id, uint64_t value) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetDisplayProperty(devId, id, value); +} + +extern "C" int32_t Commit(uint32_t devId, int32_t& fence) +{ + return DisplayComposerVdiImpl::GetVdiInstance().Commit(devId, fence); +} + +extern "C" int32_t CreateLayer(uint32_t devId, const V1_0::LayerInfo& layerInfo, uint32_t& layerId) +{ + return DisplayComposerVdiImpl::GetVdiInstance().CreateLayer(devId, layerInfo, layerId); +} + +extern "C" int32_t DestroyLayer(uint32_t devId, uint32_t layerId) +{ + return DisplayComposerVdiImpl::GetVdiInstance().DestroyLayer(devId, layerId); +} + +extern "C" int32_t PrepareDisplayLayers(uint32_t devId, bool& needFlushFb) +{ + return DisplayComposerVdiImpl::GetVdiInstance().PrepareDisplayLayers(devId, needFlushFb); +} + +extern "C" int32_t SetLayerAlpha(uint32_t devId, uint32_t layerId, const V1_0::LayerAlpha& alpha) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerAlpha(devId, layerId, alpha); +} + +extern "C" int32_t SetLayerRegion(uint32_t devId, uint32_t layerId, const V1_0::IRect& rect) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerRegion(devId, layerId, rect); +} + +extern "C" int32_t SetLayerCrop(uint32_t devId, uint32_t layerId, const V1_0::IRect& rect) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerCrop(devId, layerId, rect); +} + +extern "C" int32_t SetLayerZorder(uint32_t devId, uint32_t layerId, uint32_t zorder) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerZorder(devId, layerId, zorder); +} + +extern "C" int32_t SetLayerPreMulti(uint32_t devId, uint32_t layerId, bool preMul) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerPreMulti(devId, layerId, preMul); +} + +extern "C" int32_t SetLayerTransformMode(uint32_t devId, uint32_t layerId, V1_0::TransformType type) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerTransformMode(devId, layerId, type); +} + +extern "C" int32_t SetLayerDirtyRegion(uint32_t devId, uint32_t layerId, const std::vector& rects) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerDirtyRegion(devId, layerId, rects); +} + +extern "C" int32_t SetLayerVisibleRegion(uint32_t devId, uint32_t layerId, std::vector& rects) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerVisibleRegion(devId, layerId, rects); +} + +extern "C" int32_t SetLayerBuffer(uint32_t devId, uint32_t layerId, const BufferHandle& buffer, int32_t fence) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerBuffer(devId, layerId, buffer, fence); +} + +extern "C" int32_t SetLayerCompositionType(uint32_t devId, uint32_t layerId, V1_0::CompositionType type) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerCompositionType(devId, layerId, type); +} + +extern "C" int32_t SetLayerBlendType(uint32_t devId, uint32_t layerId, V1_0::BlendType type) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerBlendType(devId, layerId, type); +} + +extern "C" int32_t SetLayerMaskInfo(uint32_t devId, uint32_t layerId, const V1_0::MaskInfo maskInfo) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerMaskInfo(devId, layerId, maskInfo); +} + +extern "C" int32_t SetLayerColor(uint32_t devId, uint32_t layerId, const V1_0::LayerColor& layerColor) +{ + return DisplayComposerVdiImpl::GetVdiInstance().SetLayerColor(devId, layerId, layerColor); +} + } // DISPLAY } // HDI } // OHOS diff --git a/device_soc_phytium/common/hardware/display/src/display_device/display_composer_vdi_impl.h b/device_soc_phytium/common/hardware/display/src/display_device/display_composer_vdi_impl.h index 15443154f2e9792eb6cc882474898d40caa6dd23..744c43d46c2124047fa9c4d6bac900607d6a0253 100755 --- a/device_soc_phytium/common/hardware/display/src/display_device/display_composer_vdi_impl.h +++ b/device_soc_phytium/common/hardware/display/src/display_device/display_composer_vdi_impl.h @@ -29,6 +29,7 @@ using namespace OHOS::HDI::Display::Composer::V1_0; class DisplayComposerVdiImpl : public IDisplayComposerVdi { public: + static DisplayComposerVdiImpl& GetVdiInstance(); DisplayComposerVdiImpl(); virtual ~DisplayComposerVdiImpl(); virtual int32_t RegHotPlugCallback(HotPlugCallback cb, void* data) override; @@ -73,8 +74,11 @@ public: virtual int32_t SetLayerMaskInfo(uint32_t devId, uint32_t layerId, const MaskInfo maskInfo) override; virtual int32_t SetLayerColor(uint32_t devId, uint32_t layerId, const LayerColor& layerColor) override; private: - HdiSession* composerModel_; + std::mutex mMutex; }; + +extern "C" int32_t GetDumpInfo(std::string& result); +extern "C" int32_t UpdateConfig(std::string& result); } // DISPLAY } // HDI } // OHOS diff --git a/device_soc_phytium/common/hardware/display/src/display_gralloc/display_buffer_vdi_impl.cpp b/device_soc_phytium/common/hardware/display/src/display_gralloc/display_buffer_vdi_impl.cpp index ddb7f1cb2f417b19770b30ada91b7858b69cd9a0..583d3bb7e7a4c27cf441091d529a01029e4825ee 100755 --- a/device_soc_phytium/common/hardware/display/src/display_gralloc/display_buffer_vdi_impl.cpp +++ b/device_soc_phytium/common/hardware/display/src/display_gralloc/display_buffer_vdi_impl.cpp @@ -24,6 +24,7 @@ namespace OHOS { namespace HDI { namespace DISPLAY { using namespace OHOS::HDI::Display::Composer::V1_0; +using namespace OHOS::HDI::Display::Buffer::V1_2; DisplayBufferVdiImpl::DisplayBufferVdiImpl() { diff --git a/device_soc_phytium/common/hardware/display/src/display_gralloc/display_buffer_vdi_impl.h b/device_soc_phytium/common/hardware/display/src/display_gralloc/display_buffer_vdi_impl.h index c66b74cea35571908665fa7057075e304c918b61..5bf4cf166d7c571a8794b8eeaa741abdb780a867 100755 --- a/device_soc_phytium/common/hardware/display/src/display_gralloc/display_buffer_vdi_impl.h +++ b/device_soc_phytium/common/hardware/display/src/display_gralloc/display_buffer_vdi_impl.h @@ -19,11 +19,11 @@ #include "buffer_handle.h" #include "idisplay_buffer_vdi.h" #include "v1_0/display_buffer_type.h" +#include "v1_2/display_buffer_type.h" namespace OHOS { namespace HDI { namespace DISPLAY { -using namespace OHOS::HDI::Display::Buffer::V1_0; using namespace OHOS::HDI::Display::Buffer::V1_2; class DisplayBufferVdiImpl : public IDisplayBufferVdi { diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/hw_random/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/char/hw_random/Kconfig deleted file mode 100644 index d820d6ea46bcb82ca25bd9a5d47b1bd38543527e..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/hw_random/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -config HW_RANDOM_PHYTIUM - tristate "Phytium Random Number Generator support" - depends on ARCH_PHYTIUM || COMPILE_TEST - help - This driver provides kernel-side support for the Random Number - Generator hardware found on Phytium SoCs. - - To compile this driver as a module, choose M here: the - module will be called phytium-rng. - - If unsure, say Y. - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/hw_random/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/char/hw_random/Makefile deleted file mode 100644 index 5571b11e1a98c5d251a793e485ae9013a0d50bed..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/hw_random/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_HW_RANDOM_PHYTIUM) += phytium-rng.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/Kconfig deleted file mode 100644 index e1c26928c397d4cbb5bccdba30fde8c2ea889b68..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/Kconfig +++ /dev/null @@ -1,22 +0,0 @@ -config PHYTIUM_KCS_IPMI_BMC - depends on ARCH_PHYTIUM - select IPMI_KCS_BMC - select REGMAP_MMIO - tristate "PHYTIUM KCS IPMI BMC driver" - help - Provides a driver for the KCS (Kerboard Controller Style) IPMI - interface found on Phytium SOCs. - - The driver implements the BMC side of the KCS controller, it - provides the access of KCS IO space for BMC side. - -config PHYTIUM_BT_IPMI_BMC - depends on ARCH_PHYTIUM - depends on REGMAP && REGMAP_MMIO && MFD_SYSCON - tristate "PHYTIUM BT BMC driver" - help - Provides a driver for the BT (Block Transfer) IPMI interface - found on Phytium SOCs. The driver implements the BMC - side of the BT interface. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/Makefile deleted file mode 100644 index 949b07180e80669a0284afb55f11aadc0658317b..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -obj-$(CONFIG_PHYTIUM_KCS_IPMI_BMC) += kcs_bmc_phytium.o -obj-$(CONFIG_PHYTIUM_BT_IPMI_BMC) += bt_bmc_phytium.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/Kconfig deleted file mode 100644 index 2fea29350907c31d418cddd792c50f65c717569a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/Kconfig +++ /dev/null @@ -1,36 +0,0 @@ -# This symbol is selected by both MMIO and PCI expanders -config GPIO_PHYTIUM_CORE - tristate - -config GPIO_PHYTIUM_PLAT - tristate "Phytium GPIO Platform support" - default y if ARCH_PHYTIUM - depends on ARM64 - select GPIO_PHYTIUM_CORE - select IRQ_DOMAIN - select GENERIC_IRQ_CHIP - select GPIOLIB_IRQCHIP - help - Say yes here to enable GPIO support for Phytium SoCs. - -config GPIO_PHYTIUM_SGPIO - tristate "Phytium SGPIO support" - default y if ARCH_PHYTIUM - depends on ARM64 - select IRQ_DOMAIN - select GENERIC_IRQ_CHIP - help - Say yes here to enable SGPIO support for Phytium SoCs. - -config GPIO_PHYTIUM_PCI - tristate "Phytium GPIO PCI support" - select GPIO_PHYTIUM_CORE - select IRQ_DOMAIN - select GENERIC_IRQ_CHIP - select GPIOLIB_IRQCHIP - help - Say Y here to support Phytium PCI GPIO controller on px210 chipset. - An interrupt is generated when any of the inputs change state - (low to high or high to low). - - This driver can be used for Phytium px210. diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/Makefile deleted file mode 100644 index f97ee48808be16dc40bd4c8a090e346e3004853b..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# generic gpio support: platform drivers, dedicated expander chips, etc - -obj-$(CONFIG_GPIO_PHYTIUM_CORE) += gpio-phytium-core.o -obj-$(CONFIG_GPIO_PHYTIUM_PCI) += gpio-phytium-pci.o -obj-$(CONFIG_GPIO_PHYTIUM_PLAT) += gpio-phytium-platform.o -obj-$(CONFIG_GPIO_PHYTIUM_SGPIO) += gpio-phytium-sgpio.o - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwmon/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/hwmon/Kconfig deleted file mode 100755 index 8cb5b6c96668f4143f53ad8b100b6736aee143c4..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwmon/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config SENSORS_PHYTIUM - tristate "Phytium Fan tach and capture counter driver" - help - This driver provides support for Phytium Fan Tacho and capture - counter controllers. - - This driver can also be built as a module. If so, the module - will be called tacho-phytium. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwmon/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/hwmon/Makefile deleted file mode 100755 index 0023d8f1206dc17c93fb451beb90aee1805368e6..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwmon/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_SENSORS_PHYTIUM) += tacho-phytium.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwspinlock/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/hwspinlock/Kconfig deleted file mode 100755 index 9671c560beffe94878e6dec4780f7696f5d170cd..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwspinlock/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config HWSPINLOCK_PHYTIUM - tristate "Phytium Hardware Spinlock device" - depends on HWSPINLOCK - depends on ARCH_PHYTIUM - help - Say y here to support the Phytium Hardware Spinlock device. - - If unsure, say N. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwspinlock/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/hwspinlock/Makefile deleted file mode 100755 index 16c328e1ccae5a7c171a6c2655f1c7633bed2b0a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwspinlock/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_HWSPINLOCK_PHYTIUM) += phytium_hwspinlock.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/Kconfig deleted file mode 100755 index 7ebaef6574c45971d5c71497b15d99f2a89e23c8..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/Kconfig +++ /dev/null @@ -1,29 +0,0 @@ -config I2C_PHYTIUM_CORE - tristate - -config I2C_PHYTIUM_PCI - tristate "Phytium I2C PCI" - depends on PCI && ARCH_PHYTIUM - select I2C_PHYTIUM_CORE - select I2C_SMBUS - help - If you say yes to this option, support will be included for the - Phytium I2C adapter. Only master mode is supported. - - This driver can also be built as a module. If so, the module - will be called i2c-phytium-pci. - -config I2C_PHYTIUM_PLATFORM - tristate "Phytium I2C Platform" - depends on (ACPI && COMMON_CLK) || !ACPI - select I2C_SLAVE - select I2C_PHYTIUM_CORE - select I2C_SMBUS - help - If you say yes to this option, support will be included for the - Phytium I2C adapter. Only master mode is supported. - - This driver can also be built as a module. If so, the module - will be called i2c-phytium-platform. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/Makefile deleted file mode 100755 index 7c84153daf0961ae12fdaacafab0db8a861bda6c..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -obj-$(CONFIG_I2C_PHYTIUM_CORE) += i2c-phytium-core.o -i2c-phytium-core-objs := i2c-phytium-common.o i2c-phytium-master.o i2c-phytium-slave.o -obj-$(CONFIG_I2C_PHYTIUM_PCI) += i2c-phytium-pci.o -obj-$(CONFIG_I2C_PHYTIUM_PLATFORM) += i2c-phytium-platform.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/iio/adc/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/iio/adc/Kconfig deleted file mode 100755 index edd18f92d08407d3ed5fbdf288a7d07f870c43fb..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/iio/adc/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -config PHYTIUM_ADC - tristate "Phytium ADC driver" - depends on ARCH_PHYTIUM || COMPILE_TEST - select IIO_BUFFER - select IIO_TRIGGERED_BUFFER - help - Say yes here to build support for Phytium analog to digital - converters (ADC). - - To compile this driver as a module, choose M here: the module - will be called phytium-adc. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/iio/adc/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/iio/adc/Makefile deleted file mode 100755 index 5047e36da2d3eaa296bf63be0407dc71905a66ad..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/iio/adc/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PHYTIUM_ADC) += phytium-adc.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/keyboard/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/input/keyboard/Kconfig deleted file mode 100755 index 6851cd0f226487df68b4aa04ada7c38cd87f17f2..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/keyboard/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -config KEYBOARD_PHYTIUM - tristate "Phytium keypad support" - depends on ARCH_PHYTIUM - select INPUT_MATRIXKMAP - help - Say Y here if you want to enable support for Phytium keypad - port. - - To compile this driver as a module, choose M here: the - module will be called phytium_keypad. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/keyboard/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/input/keyboard/Makefile deleted file mode 100755 index bae46ed876c265a29de845a7ec94d78f8ba74281..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/keyboard/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_KEYBOARD_PHYTIUM) += phytium-keypad.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/serio/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/input/serio/Kconfig deleted file mode 100644 index 25c414a10541c8cd3cb56f50d453936046b64b1f..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/serio/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -config SERIO_PHYTIUM_PS2 - depends on SERIO - tristate "PHYTIUM PS/2 (keyboard and mouse)" - default y if ARCH_PHYTIUM - depends on PCI - help - This selects support for the PS/2 Host Controller on - Phytium SoCs. - - To compile this driver as a module, choose M here: the - module will be called phytium-ps2. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/serio/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/input/serio/Makefile deleted file mode 100644 index 09ab3c8f5df431cadc513f387c7376213cb1be97..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/serio/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_SERIO_PHYTIUM_PS2) += phytium-ps2.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/irqchip/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/irqchip/Kconfig deleted file mode 100644 index c574d405e3df266bab2119d4c629b00f699708ff..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/irqchip/Kconfig +++ /dev/null @@ -1,8 +0,0 @@ -config PHYTIUM_IXIC - bool "Phytium SoC PCI Legacy Interrupt Controller" - depends on ARCH_PHYTIUM - select IRQ_DOMAIN - select IRQ_DOMAIN_HIERARCHY - help - This enables support PCI Legacy Interrupt on Phytium SoC. - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/irqchip/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/irqchip/Makefile deleted file mode 100644 index cb297747e0a4fe4153a2a668e6f471403d4002e9..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/irqchip/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PHYTIUM_IXIC) += irq-phytium-ixic.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mailbox/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/mailbox/Kconfig deleted file mode 100755 index 6d47b0c3b2994bea040fb3143ba304729d9b46e6..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mailbox/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config PHYTIUM_MBOX - tristate "Phytium SoC Mailbox Support" - depends on ARCH_PHYTIUM || COMPILE_TEST - help - Mailbox driver implementation for the Phytium platform. It is used - to send message between application processors and on-chip management - firmware. Say Y here if you want to build this mailbox controller - driver. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mailbox/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/mailbox/Makefile deleted file mode 100755 index 28a202ca66b1dccf1469f24cff3938a2497d0ac0..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mailbox/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PHYTIUM_MBOX) += phytium-mailbox.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/Kconfig deleted file mode 100755 index 5bd33c533e04b717e99b5ca5c3e9d99a10d347ec..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/Kconfig +++ /dev/null @@ -1,16 +0,0 @@ -config MFD_PHYTIUM_I2S_LSD - tristate "PHYTIUM px210 I2S LSD MFD driver" - depends on (PCI && ARCH_PHYTIUM) - select MFD_CORE - help - This enables support for the Phytium px210 LSD I2S controller. - -config MFD_PHYTIUM_I2S_MMD - tristate "PHYTIUM px210 I2S MMD MFD driver" - depends on (PCI && ARCH_PHYTIUM) - select MFD_CORE - help - This enables support for the Phytium px210 MMD I2S controllers - for Display Port. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/Makefile deleted file mode 100755 index 279f0d88af6bcd2861eff2024aefa7b2f0f9c296..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -obj-$(CONFIG_MFD_PHYTIUM_I2S_LSD) += phytium_px210_i2s_lsd.o -obj-$(CONFIG_MFD_PHYTIUM_I2S_MMD) += phytium_px210_i2s_mmd.o - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/Kconfig deleted file mode 100644 index feb25db4d874ef7cc69ed03ba5622168c5719f11..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/Kconfig +++ /dev/null @@ -1,34 +0,0 @@ -config MMC_PHYTIUM_SDCI - tristate "Phytium SD Host Controller support" - depends on ARCH_PHYTIUM || COMPILE_TEST - default y if ARCH_PHYTIUM - help - This selects support for the SD/MMC Host Controller on - Phytium SoC family. - - If you have a controller with this interface, say Y or M here. - - If unsure, say N. - -config MMC_PHYTIUM_MCI_PCI - tristate "Phytium octopus PCI MultiMedia Card Interface support" - depends on ARCH_PHYTIUM - default y if ARCH_PHYTIUM - help - This selects support for the PCI MultiMedia Card Interface on Phytium - px210 chipset. - - If you have a controller with this interface, say Y or M here. - - If unsure, say N. - -config MMC_PHYTIUM_MCI_PLTFM - tristate "Phytium MultiMedia Card Interface support" - depends on ARCH_PHYTIUM && OF - default y if ARCH_PHYTIUM - help - This selects support for the MultiMedia Card Interface on Phytium SoCs. - If you have a controller with this interface, say Y or M here. - - If unsure, say N. - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/Makefile deleted file mode 100644 index 6d8510cf5597387f8174e9c22f056f22d3bbd44a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -obj-$(CONFIG_MMC_PHYTIUM_SDCI) += phytium-sdci.o -obj-$(CONFIG_MMC_PHYTIUM_MCI_PCI) += phytium-mci-pci.o phytium-mci.o -obj-$(CONFIG_MMC_PHYTIUM_MCI_PLTFM) += phytium-mci-plat.o phytium-mci.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/Makefile deleted file mode 100755 index 6be02bc9739c64e7a05c7cd5de26403db351b58a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += raw/ diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/Kconfig deleted file mode 100755 index 522662b15edaa10ed175772bc9df6fbeebef5230..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/Kconfig +++ /dev/null @@ -1,20 +0,0 @@ -config MTD_NAND_PHYTIUM - tristate - -config MTD_NAND_PHYTIUM_PCI - tristate "Support Phytium NAND controller as a PCI device" - select MTD_NAND_PHYTIUM - depends on PCI - help - Enable the driver for NAND flash controller of Phytium Px210 chipset, - using the Phytium NAND controller core. - -config MTD_NAND_PHYTIUM_PLAT - tristate "Support Phytium NAND controller as a platform device" - select MTD_NAND_PHYTIUM - depends on ARCH_PHYTIUM - help - Enable the driver for NAND flash controller of Phytium CPU chipset, - using the Phytium NAND controller core. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/Makefile deleted file mode 100755 index 77ecd2beb72f440e5cdd00500f542137edf69946..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -obj-$(CONFIG_MTD_NAND_PHYTIUM) += phytium_nand.o -obj-$(CONFIG_MTD_NAND_PHYTIUM_PCI) += phytium_nand_pci.o -obj-$(CONFIG_MTD_NAND_PHYTIUM_PLAT) += phytium_nand_plat.o - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/Makefile deleted file mode 100755 index 5e603be9d985471c24f46cd8650d2a5bb8c6da2d..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += controllers/ diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/controllers/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/controllers/Kconfig deleted file mode 100644 index 5991937154405625bf58a70b940469f6c40cb19f..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/controllers/Kconfig +++ /dev/null @@ -1,8 +0,0 @@ -config SPI_PHYTIUM_QUADSPI - tristate "Phytium Quad SPI Controller" - depends on ARCH_PHYTIUM || ARM - depends on OF && HAS_IOMEM - help - This enables support for the Quad SPI controller in master mode. - This driver does not support generic SPI. The implementation only - supports SPI NOR. diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/controllers/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/controllers/Makefile deleted file mode 100644 index ad7bd05c71795e986a412a67e2b7c7d79367b5c6..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/controllers/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_SPI_PHYTIUM_QUADSPI) += phytium-quadspi.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/Kconfig deleted file mode 100644 index 7b63f74763a9e67a90ec7f50fbd763b432e554b8..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/Kconfig +++ /dev/null @@ -1,7 +0,0 @@ -config MACB_TSN - bool "TSN supports" - depends on MACB - help - This is TSN supports for MACB driver. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/Makefile deleted file mode 100644 index 9c5e45d5b876cf993811b95cd589db9e99ba89b8..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -ifeq ($(CONFIG_MACB_TSN),y) -macb-y += macb_tsn.o -endif - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/Makefile deleted file mode 100644 index 66e8c9c99a96663940048402bea767a3d809cfa7..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += stmmac/ diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/stmmac/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/stmmac/Kconfig deleted file mode 100644 index f7a887acdd88b6d74981cbac01e94f4e98090745..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ /dev/null @@ -1,11 +0,0 @@ -config DWMAC_PHYTIUM - tristate "Phytium dwmac support" - default ARCH_PHYTIUM - depends on (OF || ACPI) && (ARCH_PHYTIUM || COMPILE_TEST) - help - Support for GMAC controller on Phytium SoCs. - - This selects the Phytium GMAC glue layer support for the - stmmac device driver. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/stmmac/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/stmmac/Makefile deleted file mode 100644 index b87bcab827abb728e9638fca50457c55920b94ff..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/stmmac/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_DWMAC_PHYTIUM) += dwmac-phytium.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/phy/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/net/phy/Kconfig deleted file mode 100644 index 2e83f9642cd8c4825919a1d0eb2835bed2875e1d..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/phy/Kconfig +++ /dev/null @@ -1,7 +0,0 @@ -config MOTORCOMM_PHY - tristate "Motorcomm PHYs" - help - Enables support for Motorcomm network PHYs. - Currently supports the YT8511 gigabit PHY. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/phy/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/net/phy/Makefile deleted file mode 100644 index cc43a4284088400827d2f8419419a892c8dbdee7..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/phy/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_MOTORCOMM_PHY) += motorcomm.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/pwm/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/pwm/Kconfig deleted file mode 100644 index 67592f72fa91b53248cb61a494d54932071087e4..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/pwm/Kconfig +++ /dev/null @@ -1,11 +0,0 @@ -config PWM_PHYTIUM - tristate "Phytium PWM support" - depends on ARCH_PHYTIUM - help - Generic PWM framework driver for the PWM controller found on - Phytium SoCs. - - To compile this driver as a module, choose M here: the module - will be called pwm-phytium. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/pwm/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/pwm/Makefile deleted file mode 100644 index b3d6fbbbfdcc0d79035227b1b04b9d153fe4d654..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/pwm/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PWM_PHYTIUM) += pwm-phytium.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/remoteproc/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/remoteproc/Kconfig deleted file mode 100644 index d21959ab1d3a089804eb70614bee2657350680d4..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/remoteproc/Kconfig +++ /dev/null @@ -1,7 +0,0 @@ -config HOMO_REMOTEPROC - bool "homogeneous remoteproc support" - select RPMSG_VIRTIO - help - Say y here to support homogeneous processors via the remote processor framework. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/remoteproc/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/remoteproc/Makefile deleted file mode 100644 index 1314f9cae6364ee101c7dfcee8a3c8687145ac0e..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/remoteproc/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_HOMO_REMOTEPROC) += homo_remoteproc.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/rtc/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/rtc/Kconfig deleted file mode 100755 index 6567a16253b1449c935b99d266c8ac3aeefc2740..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/rtc/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config RTC_DRV_SD3068 - tristate "ZXW Shenzhen whwave SD3068" - select REGMAP_I2C - help - If you say yes here you get support for the ZXW Shenzhen whwave - SD3068 RTC chips. - - This driver can also be built as a module. If so, the module - will be called rtc-sd3068 - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/rtc/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/rtc/Makefile deleted file mode 100755 index 1b2c1e9da89989c1a9e151f272b9d2c2db0aa1e0..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/rtc/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_RTC_DRV_SD3068) += rtc-sd3068.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/Kconfig deleted file mode 100644 index cb9b9baef4b353fcb1410d99ddb97fc22bea7dbd..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/Kconfig +++ /dev/null @@ -1,26 +0,0 @@ -config SPI_PHYTIUM - tristate - depends on ARCH_PHYTIUM || COMPILE_TEST - -config SPI_PHYTIUM_PLAT - tristate "Phytium SPI controller platform support" - select SPI_PHYTIUM - help - This selects a platform driver for Phytium SPI controller. - - If you say yes to this option, support will be included for - Pd1904 and pd2008 families of SPI controller. - -config SPI_PHYTIUM_PCI - tristate "Phytium SPI controller PCI support" - depends on PCI - select SPI_PHYTIUM - help - This selects a PCI driver for Phytium SPI controller. - - If you say yes to this option, support will be included for - Phytium px210 chipset of SPI controller. - - If unsure, say N. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/Makefile deleted file mode 100644 index 99d75cc6a327348b8dc71c358015ca54da0c3e9f..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -obj-$(CONFIG_SPI_PHYTIUM) += spi-phytium.o spi-phytium-dma.o -obj-$(CONFIG_SPI_PHYTIUM_PLAT) += spi-phytium-plat.o -obj-$(CONFIG_SPI_PHYTIUM_PCI) += spi-phytium-pci.o -obj-$(CONFIG_SPI_PHYTIUM_QSPI) += spi-phytium-qspi.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/tty/serial/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/tty/serial/Kconfig deleted file mode 100755 index faf0ce58dd076efb84447f13dac241afbf6b5ff4..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/tty/serial/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -config SERIAL_PHYTIUM_PCI - tristate "Phytium PCI serial port support" - depends on PCI - select SERIAL_CORE - help - This driver supports the Phytium UART controller on PCI/PCIe adapters. - If you want to compile this driver into the kernel, say Y here. To - compile this driver as a module, choose M here. - - If unsure, say N. - - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/tty/serial/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/tty/serial/Makefile deleted file mode 100755 index 766f23a0295bb1a03dbc3d866970b7ba50830220..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/tty/serial/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_SERIAL_PHYTIUM_PCI) += phytium-uart.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/w1/masters/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/w1/masters/Kconfig deleted file mode 100755 index afc204376c862e91753496193937aac2b2bba376..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/w1/masters/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config W1_MASTER_PHYTIUM - tristate "Phytium 1-wire driver" - depends on ARCH_PHYTIUM || COMPILE_TEST - help - Say Y here if you want to get support for the 1-wire interface - on an Phytium SoC. - - This driver can also be built as a module. If so, the module - will be called phytium-w1. - diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/w1/masters/Makefile b/device_soc_phytium/common/kernel/linux-5.10/drivers/w1/masters/Makefile deleted file mode 100755 index b85e48ffde2b1c93b74ee0659052bad52dae0b8d..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/w1/masters/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_W1_MASTER_PHYTIUM) += phytium_w1.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/Kconfig deleted file mode 100644 index 31e43c59c0a78057a74793a73b94aa2413fae33a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/Kconfig +++ /dev/null @@ -1,16 +0,0 @@ -config SND_HDA_PHYTIUM - tristate "PHYTIUM HD Audio" - depends on SOUND - select SND_HDA - select SND_HDA_ALIGNED_MMIO - help - Say Y here to support the HDA controller present in PHYTIUM - SoCs - - This options enables support for the HD Audio controller - present in some PHYTIUM SoCs, used to communicate audio - to the "High Definition Audio" codec. - - To compile this driver as a module, choose M here: the module - will be called snd-hda-phytium. - diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/Makefile b/device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/Makefile deleted file mode 100644 index 37f17b56b4f367046a5bf2c4a66d6e4867773cbe..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -snd-hda-phytium-objs := hda_phytium.o -obj-$(CONFIG_SND_HDA_PHYTIUM) += snd-hda-phytium.o diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/sound/soc/Kconfig deleted file mode 100644 index 2ab9eefb8c73190e19b3cf4f28e93425d0c39595..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/Kconfig +++ /dev/null @@ -1,9 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# -# SoC audio configuration -# - -source "sound/soc/phytium/Kconfig" -# Supported codecs -source "sound/soc/codecs/Kconfig" - diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/Kconfig deleted file mode 100644 index d9aee6b5dac3d2d1bf5d7cb845cb5e95c17d88fe..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/Kconfig +++ /dev/null @@ -1,18 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# Helper to resolve issues with configs that have SPI enabled but I2C -# modular, meaning we can't build the codec driver in with I2C support. -# We use an ordered list of conditional defaults to pick the appropriate -# setting - SPI can't be modular so that case doesn't need to be covered. - -menu "CODEC drivers" - -config SND_SOC_ES8336 - tristate "Everest Semi ES8336 CODEC" - depends on I2C - select GPIO_PHYTIUM_PCI - -config SND_SOC_ES8388 - tristate "Everest Semi ES8388 CODEC" - depends on I2C - -endmenu diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/Makefile b/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/Makefile deleted file mode 100644 index 07ee92fca5ff0b664c00e6984dea8f66e8c343d6..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 - -snd-soc-es8336-objs := es8336.o -snd-soc-es8388-objs := es8388.o - -obj-$(CONFIG_SND_SOC_ES8336) += snd-soc-es8336.o -obj-$(CONFIG_SND_SOC_ES8388) += snd-soc-es8388.o - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/hw_random/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/char/hw_random/Kconfig deleted file mode 100644 index d820d6ea46bcb82ca25bd9a5d47b1bd38543527e..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/hw_random/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -config HW_RANDOM_PHYTIUM - tristate "Phytium Random Number Generator support" - depends on ARCH_PHYTIUM || COMPILE_TEST - help - This driver provides kernel-side support for the Random Number - Generator hardware found on Phytium SoCs. - - To compile this driver as a module, choose M here: the - module will be called phytium-rng. - - If unsure, say Y. - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/hw_random/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/char/hw_random/Makefile deleted file mode 100644 index 5571b11e1a98c5d251a793e485ae9013a0d50bed..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/hw_random/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_HW_RANDOM_PHYTIUM) += phytium-rng.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/Kconfig deleted file mode 100644 index e1c26928c397d4cbb5bccdba30fde8c2ea889b68..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/Kconfig +++ /dev/null @@ -1,22 +0,0 @@ -config PHYTIUM_KCS_IPMI_BMC - depends on ARCH_PHYTIUM - select IPMI_KCS_BMC - select REGMAP_MMIO - tristate "PHYTIUM KCS IPMI BMC driver" - help - Provides a driver for the KCS (Kerboard Controller Style) IPMI - interface found on Phytium SOCs. - - The driver implements the BMC side of the KCS controller, it - provides the access of KCS IO space for BMC side. - -config PHYTIUM_BT_IPMI_BMC - depends on ARCH_PHYTIUM - depends on REGMAP && REGMAP_MMIO && MFD_SYSCON - tristate "PHYTIUM BT BMC driver" - help - Provides a driver for the BT (Block Transfer) IPMI interface - found on Phytium SOCs. The driver implements the BMC - side of the BT interface. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/Makefile deleted file mode 100644 index 949b07180e80669a0284afb55f11aadc0658317b..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -obj-$(CONFIG_PHYTIUM_KCS_IPMI_BMC) += kcs_bmc_phytium.o -obj-$(CONFIG_PHYTIUM_BT_IPMI_BMC) += bt_bmc_phytium.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/Kconfig deleted file mode 100644 index 26691906dbf4db150ccd0a133dee4c1c1ec4872b..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# -# PCMCIA character device configuration -# -config PHYTNET_LED - tristate "Phytium mac led control module" - depends on PHYTMAC - depends on GPIO_PHYTIUM_PLAT - default m - help - If you have a network (Ethernet) controller of this type and - want to use it control port led say Y or M here. - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/Makefile deleted file mode 100644 index 781bc90c1b9c30d7f909b8fad54cd88eb2a01894..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PHYTNET_LED) += phytnet_led.o \ No newline at end of file diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/edac/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/edac/Kconfig deleted file mode 100644 index b362a8aa2cd6b390e3254c1d9dc672166f92b4e0..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/edac/Kconfig +++ /dev/null @@ -1,6 +0,0 @@ -config EDAC_PHYTIUM - tristate "Phytium Pe220x SoC" - depends on (ARM64) - help - Support for error detection and correction on the - Phytium Pe220x family of SOCs. diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/edac/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/edac/Makefile deleted file mode 100644 index ae89fc2b7b656a4a96b5bfb2dec7328c4b360e36..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/edac/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_EDAC_PHYTIUM) += phytium_edac.o \ No newline at end of file diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/Kconfig deleted file mode 100644 index b9ccfe673063f4fc6a78c60e1dccc66880687671..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/Kconfig +++ /dev/null @@ -1,37 +0,0 @@ -# This symbol is selected by both MMIO and PCI expanders -config GPIO_PHYTIUM_CORE - tristate - -config GPIO_PHYTIUM_PLAT - tristate "Phytium GPIO Platform support" - default y if ARCH_PHYTIUM - depends on ARM64 - select GPIO_PHYTIUM_CORE - select IRQ_DOMAIN - select GENERIC_IRQ_CHIP - select GPIOLIB_IRQCHIP - help - Say yes here to support the on-chip GPIO controller for the - Phytium SoC family. - -config GPIO_PHYTIUM_SGPIO - tristate "Phytium SGPIO support" - default y if ARCH_PHYTIUM - depends on ARM64 - select IRQ_DOMAIN - select GENERIC_IRQ_CHIP - help - Say yes here to enable SGPIO support for Phytium SoCs. - -config GPIO_PHYTIUM_PCI - tristate "Phytium GPIO PCI support" - select GPIO_PHYTIUM_CORE - select IRQ_DOMAIN - select GENERIC_IRQ_CHIP - select GPIOLIB_IRQCHIP - help - Say Y here to support Phytium PCI GPIO controller on px210 chipset. - An interrupt is generated when any of the inputs change state - (low to high or high to low). - - This driver can be used for Phytium px210. diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/Makefile deleted file mode 100644 index f97ee48808be16dc40bd4c8a090e346e3004853b..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# generic gpio support: platform drivers, dedicated expander chips, etc - -obj-$(CONFIG_GPIO_PHYTIUM_CORE) += gpio-phytium-core.o -obj-$(CONFIG_GPIO_PHYTIUM_PCI) += gpio-phytium-pci.o -obj-$(CONFIG_GPIO_PHYTIUM_PLAT) += gpio-phytium-platform.o -obj-$(CONFIG_GPIO_PHYTIUM_SGPIO) += gpio-phytium-sgpio.o - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwmon/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/hwmon/Kconfig deleted file mode 100755 index 8cb5b6c96668f4143f53ad8b100b6736aee143c4..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwmon/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config SENSORS_PHYTIUM - tristate "Phytium Fan tach and capture counter driver" - help - This driver provides support for Phytium Fan Tacho and capture - counter controllers. - - This driver can also be built as a module. If so, the module - will be called tacho-phytium. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwmon/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/hwmon/Makefile deleted file mode 100755 index 0023d8f1206dc17c93fb451beb90aee1805368e6..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwmon/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_SENSORS_PHYTIUM) += tacho-phytium.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwspinlock/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/hwspinlock/Kconfig deleted file mode 100755 index 9671c560beffe94878e6dec4780f7696f5d170cd..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwspinlock/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config HWSPINLOCK_PHYTIUM - tristate "Phytium Hardware Spinlock device" - depends on HWSPINLOCK - depends on ARCH_PHYTIUM - help - Say y here to support the Phytium Hardware Spinlock device. - - If unsure, say N. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwspinlock/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/hwspinlock/Makefile deleted file mode 100755 index 16c328e1ccae5a7c171a6c2655f1c7633bed2b0a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwspinlock/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_HWSPINLOCK_PHYTIUM) += phytium_hwspinlock.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/Kconfig deleted file mode 100755 index 7ebaef6574c45971d5c71497b15d99f2a89e23c8..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/Kconfig +++ /dev/null @@ -1,29 +0,0 @@ -config I2C_PHYTIUM_CORE - tristate - -config I2C_PHYTIUM_PCI - tristate "Phytium I2C PCI" - depends on PCI && ARCH_PHYTIUM - select I2C_PHYTIUM_CORE - select I2C_SMBUS - help - If you say yes to this option, support will be included for the - Phytium I2C adapter. Only master mode is supported. - - This driver can also be built as a module. If so, the module - will be called i2c-phytium-pci. - -config I2C_PHYTIUM_PLATFORM - tristate "Phytium I2C Platform" - depends on (ACPI && COMMON_CLK) || !ACPI - select I2C_SLAVE - select I2C_PHYTIUM_CORE - select I2C_SMBUS - help - If you say yes to this option, support will be included for the - Phytium I2C adapter. Only master mode is supported. - - This driver can also be built as a module. If so, the module - will be called i2c-phytium-platform. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/Makefile deleted file mode 100755 index 7c84153daf0961ae12fdaacafab0db8a861bda6c..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -obj-$(CONFIG_I2C_PHYTIUM_CORE) += i2c-phytium-core.o -i2c-phytium-core-objs := i2c-phytium-common.o i2c-phytium-master.o i2c-phytium-slave.o -obj-$(CONFIG_I2C_PHYTIUM_PCI) += i2c-phytium-pci.o -obj-$(CONFIG_I2C_PHYTIUM_PLATFORM) += i2c-phytium-platform.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/iio/adc/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/iio/adc/Kconfig deleted file mode 100755 index edd18f92d08407d3ed5fbdf288a7d07f870c43fb..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/iio/adc/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -config PHYTIUM_ADC - tristate "Phytium ADC driver" - depends on ARCH_PHYTIUM || COMPILE_TEST - select IIO_BUFFER - select IIO_TRIGGERED_BUFFER - help - Say yes here to build support for Phytium analog to digital - converters (ADC). - - To compile this driver as a module, choose M here: the module - will be called phytium-adc. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/iio/adc/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/iio/adc/Makefile deleted file mode 100755 index 5047e36da2d3eaa296bf63be0407dc71905a66ad..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/iio/adc/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PHYTIUM_ADC) += phytium-adc.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/keyboard/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/input/keyboard/Kconfig deleted file mode 100755 index 6851cd0f226487df68b4aa04ada7c38cd87f17f2..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/keyboard/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -config KEYBOARD_PHYTIUM - tristate "Phytium keypad support" - depends on ARCH_PHYTIUM - select INPUT_MATRIXKMAP - help - Say Y here if you want to enable support for Phytium keypad - port. - - To compile this driver as a module, choose M here: the - module will be called phytium_keypad. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/keyboard/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/input/keyboard/Makefile deleted file mode 100755 index bae46ed876c265a29de845a7ec94d78f8ba74281..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/keyboard/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_KEYBOARD_PHYTIUM) += phytium-keypad.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/serio/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/input/serio/Kconfig deleted file mode 100644 index 25c414a10541c8cd3cb56f50d453936046b64b1f..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/serio/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -config SERIO_PHYTIUM_PS2 - depends on SERIO - tristate "PHYTIUM PS/2 (keyboard and mouse)" - default y if ARCH_PHYTIUM - depends on PCI - help - This selects support for the PS/2 Host Controller on - Phytium SoCs. - - To compile this driver as a module, choose M here: the - module will be called phytium-ps2. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/serio/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/input/serio/Makefile deleted file mode 100644 index 09ab3c8f5df431cadc513f387c7376213cb1be97..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/serio/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_SERIO_PHYTIUM_PS2) += phytium-ps2.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/Kconfig deleted file mode 100644 index 42d0bc50511372433cd0ef0a8a599a49f043669f..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -config ARM_GIC_PHYTIUM_2500 - bool - select IRQ_DOMAIN_HIERARCHY - select PARTITION_PERCPU - select GENERIC_IRQ_EFFECTIVE_AFF_MASK - -config PHYTIUM_IXIC - bool "Phytium SoC PCI Legacy Interrupt Controller" - depends on ARCH_PHYTIUM - select IRQ_DOMAIN - select IRQ_DOMAIN_HIERARCHY - help - This enables support PCI Legacy Interrupt on Phytium SoC. \ No newline at end of file diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/Makefile deleted file mode 100644 index 0f79bc14a9e1201dc0b6b4bd4a49a1c9b66b3a12..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -obj-$(CONFIG_ARM_GIC_PHYTIUM_2500) += irq-gic-phytium-2500.o irq-gic-phytium-2500-its.o -obj-$(CONFIG_PHYTIUM_IXIC) += irq-phytium-ixic.o \ No newline at end of file diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mailbox/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/mailbox/Kconfig deleted file mode 100755 index 6d47b0c3b2994bea040fb3143ba304729d9b46e6..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mailbox/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config PHYTIUM_MBOX - tristate "Phytium SoC Mailbox Support" - depends on ARCH_PHYTIUM || COMPILE_TEST - help - Mailbox driver implementation for the Phytium platform. It is used - to send message between application processors and on-chip management - firmware. Say Y here if you want to build this mailbox controller - driver. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mailbox/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/mailbox/Makefile deleted file mode 100755 index 1e576a5426ba27e2b7f5bda89d76f9ecb5dbae68..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mailbox/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PHYTIUM_MBOX) += phytium_mailbox.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/Kconfig deleted file mode 100755 index 5bd33c533e04b717e99b5ca5c3e9d99a10d347ec..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/Kconfig +++ /dev/null @@ -1,16 +0,0 @@ -config MFD_PHYTIUM_I2S_LSD - tristate "PHYTIUM px210 I2S LSD MFD driver" - depends on (PCI && ARCH_PHYTIUM) - select MFD_CORE - help - This enables support for the Phytium px210 LSD I2S controller. - -config MFD_PHYTIUM_I2S_MMD - tristate "PHYTIUM px210 I2S MMD MFD driver" - depends on (PCI && ARCH_PHYTIUM) - select MFD_CORE - help - This enables support for the Phytium px210 MMD I2S controllers - for Display Port. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/Makefile deleted file mode 100755 index 279f0d88af6bcd2861eff2024aefa7b2f0f9c296..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -obj-$(CONFIG_MFD_PHYTIUM_I2S_LSD) += phytium_px210_i2s_lsd.o -obj-$(CONFIG_MFD_PHYTIUM_I2S_MMD) += phytium_px210_i2s_mmd.o - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/Kconfig deleted file mode 100644 index 45668507ed5f488a7f0688ff6d998e7cc6dcbd4f..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/Kconfig +++ /dev/null @@ -1,29 +0,0 @@ -config MMC_PHYTIUM_SDCI - tristate "Phytium SD Host Controller support" - depends on ARM64 - help - This selects support for the Phytium SD Host Controller - - -config MMC_PHYTIUM_MCI_PCI - tristate "Phytium PCI MultiMedia Card Interface support" - depends on ARCH_PHYTIUM - default y if ARCH_PHYTIUM - help - This selects support for the PCI MultiMedia Card Interface on Phytium - px210 chipset. - - If you have a controller with this interface, say Y or M here. - - If unsure, say N. - -config MMC_PHYTIUM_MCI_PLTFM - tristate "Phytium MultiMedia Card Interface support" - depends on ARCH_PHYTIUM && OF - default y if ARCH_PHYTIUM - help - This selects support for the MultiMedia Card Interface on Phytium SoCs. - If you have a controller with this interface, say Y or M here. - - If unsure, say N. - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/Makefile deleted file mode 100644 index 6d8510cf5597387f8174e9c22f056f22d3bbd44a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -obj-$(CONFIG_MMC_PHYTIUM_SDCI) += phytium-sdci.o -obj-$(CONFIG_MMC_PHYTIUM_MCI_PCI) += phytium-mci-pci.o phytium-mci.o -obj-$(CONFIG_MMC_PHYTIUM_MCI_PLTFM) += phytium-mci-plat.o phytium-mci.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/Kconfig deleted file mode 100755 index 522662b15edaa10ed175772bc9df6fbeebef5230..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/Kconfig +++ /dev/null @@ -1,20 +0,0 @@ -config MTD_NAND_PHYTIUM - tristate - -config MTD_NAND_PHYTIUM_PCI - tristate "Support Phytium NAND controller as a PCI device" - select MTD_NAND_PHYTIUM - depends on PCI - help - Enable the driver for NAND flash controller of Phytium Px210 chipset, - using the Phytium NAND controller core. - -config MTD_NAND_PHYTIUM_PLAT - tristate "Support Phytium NAND controller as a platform device" - select MTD_NAND_PHYTIUM - depends on ARCH_PHYTIUM - help - Enable the driver for NAND flash controller of Phytium CPU chipset, - using the Phytium NAND controller core. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/Makefile deleted file mode 100755 index 77ecd2beb72f440e5cdd00500f542137edf69946..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -obj-$(CONFIG_MTD_NAND_PHYTIUM) += phytium_nand.o -obj-$(CONFIG_MTD_NAND_PHYTIUM_PCI) += phytium_nand_pci.o -obj-$(CONFIG_MTD_NAND_PHYTIUM_PLAT) += phytium_nand_plat.o - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/of/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/of/Kconfig deleted file mode 100644 index 5c3c14711954a8bb376cd8bb222c1e628f95886c..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/of/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -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 - select OF_OVERLAY - help - Enable a simple user-space driven DT overlay interface. diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/of/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/of/Makefile deleted file mode 100644 index 097ed2887e20e29495954aab4eaae7546ca0261f..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/of/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_OF_CONFIGFS) += configfs.o \ No newline at end of file diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/Kconfig deleted file mode 100644 index aa7dacaa7d5baf54251eee576d2da9e92d548617..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/Kconfig +++ /dev/null @@ -1,9 +0,0 @@ -config PCIE_PHYTIUM_EP - tristate "Phytium PCIe endpoint controller" - depends on OF - depends on PCI_ENDPOINT - help - Say Y here if you want to support Phytium PCIe controller in - endpoint mode on Phytium SoC. The controller can act as Root Port - or End Point with different phytium firmware. But End Point mode only support - one physical function. diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/Makefile deleted file mode 100644 index 13a7e2d96d88727d843a438d2b67087718c61932..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PCIE_PHYTIUM_EP) += pcie-phytium-ep.o \ No newline at end of file diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/pwm/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/pwm/Kconfig deleted file mode 100644 index 67592f72fa91b53248cb61a494d54932071087e4..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/pwm/Kconfig +++ /dev/null @@ -1,11 +0,0 @@ -config PWM_PHYTIUM - tristate "Phytium PWM support" - depends on ARCH_PHYTIUM - help - Generic PWM framework driver for the PWM controller found on - Phytium SoCs. - - To compile this driver as a module, choose M here: the module - will be called pwm-phytium. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/pwm/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/pwm/Makefile deleted file mode 100644 index b3d6fbbbfdcc0d79035227b1b04b9d153fe4d654..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/pwm/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_PWM_PHYTIUM) += pwm-phytium.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/remoteproc/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/remoteproc/Kconfig deleted file mode 100644 index d21959ab1d3a089804eb70614bee2657350680d4..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/remoteproc/Kconfig +++ /dev/null @@ -1,7 +0,0 @@ -config HOMO_REMOTEPROC - bool "homogeneous remoteproc support" - select RPMSG_VIRTIO - help - Say y here to support homogeneous processors via the remote processor framework. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/remoteproc/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/remoteproc/Makefile deleted file mode 100644 index 1314f9cae6364ee101c7dfcee8a3c8687145ac0e..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/remoteproc/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_HOMO_REMOTEPROC) += homo_remoteproc.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/rtc/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/rtc/Kconfig deleted file mode 100755 index 6567a16253b1449c935b99d266c8ac3aeefc2740..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/rtc/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config RTC_DRV_SD3068 - tristate "ZXW Shenzhen whwave SD3068" - select REGMAP_I2C - help - If you say yes here you get support for the ZXW Shenzhen whwave - SD3068 RTC chips. - - This driver can also be built as a module. If so, the module - will be called rtc-sd3068 - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/rtc/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/rtc/Makefile deleted file mode 100755 index 1b2c1e9da89989c1a9e151f272b9d2c2db0aa1e0..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/rtc/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_RTC_DRV_SD3068) += rtc-sd3068.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/Kconfig deleted file mode 100644 index be4c4be3bb6c486a31606799055e71eab5dbffbd..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/Kconfig +++ /dev/null @@ -1,38 +0,0 @@ -config SPI_PHYTIUM - tristate - depends on ARCH_PHYTIUM || COMPILE_TEST - -config SPI_PHYTIUM_PLAT - tristate "Phytium SPI controller platform support" - select SPI_PHYTIUM - help - This selects a platform driver for Phytium SPI controller. - - If you say yes to this option, support will be included for - Pd1904 and pd2008 families of SPI controller. - -config SPI_PHYTIUM_PCI - tristate "Phytium SPI controller PCI support" - depends on PCI - select SPI_PHYTIUM - help - This selects a PCI driver for Phytium SPI controller. - - If you say yes to this option, support will be included for - Phytium px210 chipset of SPI controller. - - If unsure, say N. - -config SPI_PHYTIUM_QSPI - tristate "Phytium Quad SPI controller" - depends on ARCH_PHYTIUM || COMPILE_TEST - depends on OF - depends on SPI_MEM - help - This enables support for Phytium Quad SPI flash controller. - - This driver does not support generic SPI. The implementation only - supports spi-mem interface. - - If unsure, say N. - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/Makefile deleted file mode 100644 index fb9d9df9088a7bfe04c942ac13a8c229c5f92474..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -obj-$(CONFIG_SPI_PHYTIUM) += spi-phytium.o -obj-$(CONFIG_SPI_PHYTIUM_PLAT) += spi-phytium-plat.o -obj-$(CONFIG_SPI_PHYTIUM_PCI) += spi-phytium-pci.o -obj-$(CONFIG_SPI_PHYTIUM_QSPI) += spi-phytium-qspi.o -obj-$(CONFIG_SPI_PHYTIUM) += spi-phytium-dma.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/Makefile deleted file mode 100644 index 9de946cba80a74991ee16e06d00553151f53877a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_ANDROID) += android/ \ No newline at end of file diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/tty/serial/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/tty/serial/Kconfig deleted file mode 100755 index faf0ce58dd076efb84447f13dac241afbf6b5ff4..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/tty/serial/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -config SERIAL_PHYTIUM_PCI - tristate "Phytium PCI serial port support" - depends on PCI - select SERIAL_CORE - help - This driver supports the Phytium UART controller on PCI/PCIe adapters. - If you want to compile this driver into the kernel, say Y here. To - compile this driver as a module, choose M here. - - If unsure, say N. - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/tty/serial/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/tty/serial/Makefile deleted file mode 100755 index 766f23a0295bb1a03dbc3d866970b7ba50830220..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/tty/serial/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_SERIAL_PHYTIUM_PCI) += phytium-uart.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/w1/masters/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/drivers/w1/masters/Kconfig deleted file mode 100755 index 5be3069c6b248440254cdf107bef78f550af8385..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/w1/masters/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config W1_MASTER_PHYTIUM - bool "Phytium 1-wire driver" - depends on ARCH_PHYTIUM || COMPILE_TEST - help - Say Y here if you want to get support for the 1-wire interface - on an Phytium SoC. - - This driver can also be built as a module. If so, the module - will be called phytium-w1. - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/w1/masters/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/w1/masters/Makefile deleted file mode 100755 index b85e48ffde2b1c93b74ee0659052bad52dae0b8d..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/w1/masters/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_W1_MASTER_PHYTIUM) += phytium_w1.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/Kconfig deleted file mode 100644 index 31e43c59c0a78057a74793a73b94aa2413fae33a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/Kconfig +++ /dev/null @@ -1,16 +0,0 @@ -config SND_HDA_PHYTIUM - tristate "PHYTIUM HD Audio" - depends on SOUND - select SND_HDA - select SND_HDA_ALIGNED_MMIO - help - Say Y here to support the HDA controller present in PHYTIUM - SoCs - - This options enables support for the HD Audio controller - present in some PHYTIUM SoCs, used to communicate audio - to the "High Definition Audio" codec. - - To compile this driver as a module, choose M here: the module - will be called snd-hda-phytium. - diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/Makefile b/device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/Makefile deleted file mode 100644 index 37f17b56b4f367046a5bf2c4a66d6e4867773cbe..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -snd-hda-phytium-objs := hda_phytium.o -obj-$(CONFIG_SND_HDA_PHYTIUM) += snd-hda-phytium.o diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/sound/soc/Kconfig deleted file mode 100644 index 2ab9eefb8c73190e19b3cf4f28e93425d0c39595..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/Kconfig +++ /dev/null @@ -1,9 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# -# SoC audio configuration -# - -source "sound/soc/phytium/Kconfig" -# Supported codecs -source "sound/soc/codecs/Kconfig" - diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/Kconfig b/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/Kconfig deleted file mode 100644 index d9aee6b5dac3d2d1bf5d7cb845cb5e95c17d88fe..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/Kconfig +++ /dev/null @@ -1,18 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# Helper to resolve issues with configs that have SPI enabled but I2C -# modular, meaning we can't build the codec driver in with I2C support. -# We use an ordered list of conditional defaults to pick the appropriate -# setting - SPI can't be modular so that case doesn't need to be covered. - -menu "CODEC drivers" - -config SND_SOC_ES8336 - tristate "Everest Semi ES8336 CODEC" - depends on I2C - select GPIO_PHYTIUM_PCI - -config SND_SOC_ES8388 - tristate "Everest Semi ES8388 CODEC" - depends on I2C - -endmenu diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/Makefile b/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/Makefile deleted file mode 100644 index 07ee92fca5ff0b664c00e6984dea8f66e8c343d6..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 - -snd-soc-es8336-objs := es8336.o -snd-soc-es8388-objs := es8388.o - -obj-$(CONFIG_SND_SOC_ES8336) += snd-soc-es8336.o -obj-$(CONFIG_SND_SOC_ES8388) += snd-soc-es8388.o - - diff --git a/phytium_env.sh b/phytium_env.sh index 7238b44dcbbb993413addea5b17b58647f5655ef..7313ab2bf82bb2c6d863ef4afbed173b99cc965c 100755 --- a/phytium_env.sh +++ b/phytium_env.sh @@ -100,12 +100,17 @@ fi #apply patch for openharmony ####get_git_path(patch_name) get git path from patch name to git apply -function get_git_path(){ - local path=$1 - path=${path#*=} +function get_git_path() { + local -A SPECIAL_MAPPINGS=( + ["third_party-alsa-lib"]="third_party/alsa-lib" + ) + + local path=${1#*=} path=${path%=*} - path=${path//-/\/} - echo $path + + [[ -n "${SPECIAL_MAPPINGS[$path]}" ]] && \ + echo "${SPECIAL_MAPPINGS[$path]}" || \ + echo "${path//-/\/}" } ####apply_git_patch(patch_path) apply git patch in patch_path diff --git a/vendor_phytium/gpu_model/amd/gpu/lib/libEGL.so.1.0.0 b/vendor_phytium/gpu_model/amd/gpu/lib/libEGL.so.1.0.0 index 5e73562b0a6b785a730fdf3433bc6c5670a26d93..9250c4d396df630eeb5e4aeccd25f110ee23a5e4 100755 Binary files a/vendor_phytium/gpu_model/amd/gpu/lib/libEGL.so.1.0.0 and b/vendor_phytium/gpu_model/amd/gpu/lib/libEGL.so.1.0.0 differ diff --git a/vendor_phytium/gpu_model/jm/gpu/mesa3d_jm9100/libEGL.so.1.0.0 b/vendor_phytium/gpu_model/jm/gpu/mesa3d_jm9100/libEGL.so.1.0.0 index 5e73562b0a6b785a730fdf3433bc6c5670a26d93..9250c4d396df630eeb5e4aeccd25f110ee23a5e4 100755 Binary files a/vendor_phytium/gpu_model/jm/gpu/mesa3d_jm9100/libEGL.so.1.0.0 and b/vendor_phytium/gpu_model/jm/gpu/mesa3d_jm9100/libEGL.so.1.0.0 differ diff --git a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/kms_swrast_dri.so b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/kms_swrast_dri.so index ccd0a26bc4efaf4a1d4bf28380954710baf1ef84..9401fd7faa0594515986fc68df0e127a1158ad1a 100755 Binary files a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/kms_swrast_dri.so and b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/kms_swrast_dri.so differ diff --git a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libEGL.so.1.0.0 b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libEGL.so.1.0.0 index 139b3495374b45526dac0c1e5ac0023c239c859a..8038d9d9d5a7f850b0444248265a9eb7f19b7d99 100755 Binary files a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libEGL.so.1.0.0 and b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libEGL.so.1.0.0 differ diff --git a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libGLESv1_CM.so.1.1.0 b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libGLESv1_CM.so.1.1.0 index 320197833507485890c5a2233c51683121185993..78d6c78dde6ca8873abe5e5fa5fe39ce8d5e9624 100755 Binary files a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libGLESv1_CM.so.1.1.0 and b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libGLESv1_CM.so.1.1.0 differ diff --git a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libGLESv2.so.2.0.0 b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libGLESv2.so.2.0.0 index 175de8bf3b3fb1e9962a41cc99c3cdcf6afb0111..9bf9caa923cb3a803a21429352d936c0543b4be0 100755 Binary files a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libGLESv2.so.2.0.0 and b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libGLESv2.so.2.0.0 differ diff --git a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libgbm.so.1.0.0 b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libgbm.so.1.0.0 index 1706561f95f32b2ad0604f96f06c1cd29aab05fa..900e0a10c891769816f3bb4f738cb7f4a97c458f 100755 Binary files a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libgbm.so.1.0.0 and b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libgbm.so.1.0.0 differ diff --git a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libglapi.so.0.0.0 b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libglapi.so.0.0.0 index 20bf3dc7bce340d66af1bd052d0ae71e4eb07727..c55fc884be3aba586d0ca112d2261f3c80566fee 100755 Binary files a/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libglapi.so.0.0.0 and b/vendor_phytium/gpu_model/sw/gpu/mesa3d_swrast/libglapi.so.0.0.0 differ diff --git a/vendor_phytium/phytiumpi-firefly/bundle.json b/vendor_phytium/phytiumpi-firefly/bundle.json index a7c6085c10bdd265dec907c47cc5e2c599cdfea4..1f8753103fcaf8bfa2e750114d8964df2fe9eb4a 100755 --- a/vendor_phytium/phytiumpi-firefly/bundle.json +++ b/vendor_phytium/phytiumpi-firefly/bundle.json @@ -1,6 +1,6 @@ { "name": "@ohos/phytium_phytiumpi-firefly", - "version": "4.1", + "version": "5.1", "license": "Apache License 2.0", "private": false, "scripts": {}, diff --git a/vendor_phytium/phytiumpi-firefly/config.json b/vendor_phytium/phytiumpi-firefly/config.json index 052508845d91ee89617057e318ef755d5169c9c9..666beb26e235090b3a8bd363fce700d749d71415 100755 --- a/vendor_phytium/phytiumpi-firefly/config.json +++ b/vendor_phytium/phytiumpi-firefly/config.json @@ -51,9 +51,30 @@ } ] }, + { + "subsystem": "tee", + "components": [ + { + "component": "tee_client", + "features": [] + } + ] + }, { "subsystem": "hdf", "components": [ + { + "component": "drivers_interface_ril", + "features": [] + }, + { + "component": "drivers_peripheral_ril", + "features":[] + }, + { + "component": "drivers_interface_bluetooth", + "features": [] + }, { "component": "drivers_interface_audio", "features": [] @@ -66,6 +87,12 @@ "drivers_peripheral_audio_feature_effect = false" ] }, + { + "component": "alsa-lib", + "features": [ + "alsa_lib_feature_config_enable = true" + ] + }, { "component": "drivers_peripheral_display", "features": [ @@ -81,8 +108,7 @@ { "component": "init", "features": [ - "init_feature_ab_partition = true", - "init_feature_loader = true" + "init_feature_ab_partition = true" ] } ] @@ -174,6 +200,7 @@ { "component": "hiview", "features": [ + "hiview_feature_bbox_userspace = true", "hiview_enable_leak_detector = true", "hiview_enable_performance_monitor = true" ] diff --git a/vendor_phytium/phytiumpi-firefly/hals/audio/config/audio_policy_config.xml b/vendor_phytium/phytiumpi-firefly/hals/audio/config/audio_policy_config.xml index 3b7f7830bf48b1d4ff19ce3439706182d8055530..baef65d292a17d392f0d0bb05ca76a68f7c0dc3d 100755 --- a/vendor_phytium/phytiumpi-firefly/hals/audio/config/audio_policy_config.xml +++ b/vendor_phytium/phytiumpi-firefly/hals/audio/config/audio_policy_config.xml @@ -12,24 +12,28 @@ See the License for the specific language governing permissions and limitations under the License. --> - + - + + - + + + + @@ -45,10 +49,13 @@ - - - + + + + + + @@ -60,14 +67,20 @@ - + + + + - + + + + @@ -94,6 +107,8 @@ + + @@ -101,14 +116,5 @@ - - - - - - - - - diff --git a/vendor_phytium/phytiumpi-firefly/preinstall-config/BUILD.gn b/vendor_phytium/phytiumpi-firefly/preinstall-config/BUILD.gn old mode 100755 new mode 100644 diff --git a/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list.json b/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list.json old mode 100755 new mode 100644 index bcd127ac0b07f91eb4a711e5a0bbc2b84d04cdcf..2380f11feaadbcc3c586db84e5aa9ccc4e00b8a9 --- a/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list.json +++ b/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list.json @@ -72,6 +72,10 @@ "app_dir" : "/system/app/com.ohos.medialibrary.MediaLibraryData", "removable" : false }, + { + "app_dir" : "/system/app/com.ohos.ringtonelibrary.RingtoneLibraryData", + "removable" : false + }, { "app_dir" : "/system/app/com.ohos.callui", "removable" : false @@ -113,7 +117,7 @@ "removable" : false }, { - "app_dir" : "/system/app/com.ohos.nweb", + "app_dir" : "/system/app/com.ohos.arkwebcore", "removable" : false }, { @@ -137,7 +141,7 @@ "removable" : false }, { - "app_dir" : "/system/app/ohos.backgroundtaskmgr.resources", + "app_dir" : "/system/app/com.ohos.backgroundtaskmgr.resources", "removable" : false }, { @@ -149,7 +153,7 @@ "removable" : true }, { - "app_dir" : "/system/app/cn.openharmony.inputmethodchoosedialog", + "app_dir" : "/system/app/com.ohos.inputmethodchoosedialog", "removable" : false }, { @@ -157,7 +161,7 @@ "removable": false }, { - "app_dir" : "/system/app/cn.openharmony.pasteboarddialog", + "app_dir" : "/system/app/com.ohos.pasteboarddialog", "removable" : true }, { @@ -197,8 +201,20 @@ "removable": false }, { - "app_dir": "/system/app/ohos.samples.browser1", + "app_dir": "/system/app/com.usb.function", + "removable": true + }, + { + "app_dir": "/system/app/VpnDialog", "removable": false + }, + { + "app_dir" : "/system/app/com.ohos.dhardwareui", + "removable" : true + }, + { + "app_dir": "/system/app/com.ohos.security.privacycenter", + "removable": true } ] } diff --git a/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list_capability.json b/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list_capability.json old mode 100755 new mode 100644 index b75b2043640ba1a626029b53404b595f05dd5989..5186cbb0f24ac0b35cf62b192ac0450435a7a562 --- a/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list_capability.json +++ b/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list_capability.json @@ -2,7 +2,6 @@ "install_list": [ { "bundleName": "com.example.kikakeyboard", - "singleton": true, "runningResourcesApply": false, "associatedWakeUp": false, "app_signature" : ["9AED2A79925ECA050CD2BB9D2A7F694E49E5E135D28EBDCE53836DE76B5080ED"], @@ -42,12 +41,17 @@ { "bundleName": "com.ohos.settingsdata", "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowCommonEvent" : [ + "usual.event.USER_ADDED", + "usual.event.USER_REMOVED" + ], "singleton": true, "keepAlive": true, - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { - "bundleName": "ohos.backgroundtaskmgr.resources", + "bundleName": "com.ohos.backgroundtaskmgr.resources", "app_signature" : ["72BE2C651A9E0C57B4BB67825BA6F8180FC883858434712150A55C17C7E1A6F7"], "singleton": true, "allowAppDesktopIconHide": true @@ -62,6 +66,10 @@ "bundleName": "com.ohos.devicetest", "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], "runningResourcesApply": true, + "resourcesApply": [ + 0, + 100 + ], "associatedWakeUp": true, "allowAppUsePrivilegeExtension": true }, @@ -69,7 +77,8 @@ "bundleName": "com.ohos.contactsdataability", "app_signature" : ["D729F438E1EF2E154994E2B077F6C0CD592BA9F9C938BB428FCDA564FF805EE4"], "associatedWakeUp": true, - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.telephonydataability", @@ -86,19 +95,19 @@ "allowAppUsePrivilegeExtension": true }, { - "bundleName": "cn.openharmony.inputmethodchoosedialog", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.inputmethodchoosedialog", + "app_signature" : ["CE4D01EF424B829E13652BB1743E18B8E4542DD5A7BBA7D7D472F727FA6F8A9D"], "allowAppDesktopIconHide": true, "allowAppUsePrivilegeExtension": true }, { - "bundleName": "cn.openharmony.pasteboarddialog", - "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.pasteboarddialog", + "app_signature": ["96BC128A658C8AA7A3C6601791F109E975CBBCDE37067725C240875E98CB99C8"], "allowAppUsePrivilegeExtension": true }, { "bundleName": "com.ohos.amsdialog", - "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature": ["A004990956B96A415E849F6050AE472EE0B85F15E1928AE2CEFB49419BD2D074"], "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -111,7 +120,8 @@ { "bundleName": "com.ohos.launcher", "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppRunWhenDeviceFirstLocked": true }, { "bundleName": "com.ohos.medialibrary.medialibrarydata", @@ -119,6 +129,12 @@ "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, + { + "bundleName": "com.ohos.ringtonelibrary.ringtonelibrarydata", + "app_signature": ["8C6B95137E594835B00A60DF8DC1350D040D58624F17F4E841246B97B9A7A9FD"], + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true + }, { "bundleName": "com.ohos.permissionmanager", "app_signature": ["68079CC9CB1BD69283D70790305645FFF61CD1E46CAFD7AA53B9FA8540432B81"], @@ -130,12 +146,14 @@ "E3F4322139E0109BAFAD8DA4096762068E31708C3CF201780E736D377D60B639", "5FEDFF587F4109E565B96512404D606D539C8DFFCE1424ACBD1B2A7D3E843D4D" ], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.photos", "app_signature": ["9AED2A79925ECA050CD2BB9D2A7F694E49E5E135D28EBDCE53836DE76B5080ED"], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowFormVisibleNotify": true }, { "bundleName": "com.ohos.powerdialog", @@ -156,7 +174,7 @@ }, { "bundleName": "com.ohos.screenshot", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature" : ["com.ohos.screenshot_BPgjq9cj5JyweCCfYME1bzHG1/mf3O8o3TRauZBbLY88KQDsXTsuFVd36R3cnIdxpOosELsi0BKxgowdI7IOBUU="], "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -190,7 +208,7 @@ { "bundleName": "com.ohos.formrenderservice", "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], - "singleton": true, + "singleton": false, "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -201,20 +219,56 @@ }, { "bundleName": "com.ohos.spooler", - "app_signature" : ["B68D7BE6599CA7ADEDBC95CD1CE176AA96D996D3F41588A487E5F5C4E5DC9427"], + "app_signature" : ["0B0289F397E77F1D28B5AF426BEA72C53FB963CCC45BA193F6CB4A52CAB5987A"], "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.calendardata", - "app_signature" : ["1C6905C65DE22F5160790D34ADA462EE9ED3D9EEAA4FCBD4FEC7FFEE7D1D4FD2"], + "app_signature" : ["CC249153FA175206B1427C71DB0F2232D91FA4B2ED7955AE1D6EBA4C362D359A"], "allowAppDesktopIconHide": true, "allowAppUsePrivilegeExtension": true }, { - "bundleName": "ohos.samples.browser1", - "app_signature": ["208850C05E411A1EA7B1F26B4D5865208415D8D878D6CA42F9290BF6D6CA6D8A"], + "bundleName": "ohos.samples.distributedmusicplayer", + "app_signature" : ["CE457F6ACB11F9406B393AF490E6DEFAA4DD1CA7AB6F694EA6119EE18DDF4BBE"], + "allowAppUsePrivilegeExtension": true + }, + { + "bundleName": "com.usb.function", + "app_signature": ["D729F438E1EF2E154994E2B077F6C0CD592BA9F9C938BB428FCDA564FF805EE4"], + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.vpndialog", + "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], "allowAppUsePrivilegeExtension": true, - "allowAppDesktopIconHide": false + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.dhardwareui", + "app_signature": ["D8B95864BA867BE8299BEB45CEC85B6905D59FD726D43C3AE60E051E9E658738"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.arkwebcore", + "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.filepicker", + "app_signature": ["799EAC4119A566D438C1AB0199D9401D77176C368A334F33C03DBB21E54F970E"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.locationdialog", + "app_signature": ["8FD346D9BF992BE6CD80BFB4F1E60EF0D50BC9E04593AF1D47714E339B44268D"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "ohos.telephony.resources", + "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowAppDesktopIconHide": true } ] } diff --git a/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list_permissions.json b/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list_permissions.json old mode 100755 new mode 100644 index f04487fad738142b71b9d9270d05f71ff78fccce..6aa30ee6a85c6c734c0a003b753482a8479ff136 --- a/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list_permissions.json +++ b/vendor_phytium/phytiumpi-firefly/preinstall-config/install_list_permissions.json @@ -1,7 +1,7 @@ [ { "bundleName" : "com.ohos.screenshot", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature" : ["com.ohos.screenshot_BPgjq9cj5JyweCCfYME1bzHG1/mf3O8o3TRauZBbLY88KQDsXTsuFVd36R3cnIdxpOosELsi0BKxgowdI7IOBUU="], "permissions" : [ { "name" : "ohos.permission.MEDIA_LOCATION", @@ -14,6 +14,10 @@ { "name" : "ohos.permission.WRITE_MEDIA", "userCancellable" : true + }, + { + "name" : "ohos.permission.WRITE_IMAGEVIDEO", + "userCancellable" : true } ] }, @@ -24,6 +28,20 @@ { "name" : "ohos.permission.DISTRIBUTED_DATASYNC", "userCancellable" : false + }, + { + "name" : "ohos.permission.READ_IMAGEVIDEO", + "userCancellable" : false + } + ] + }, + { + "bundleName" : "com.ohos.ringtonelibrary.ringtonelibrarydata", + "app_signature" : ["8C6B95137E594835B00A60DF8DC1350D040D58624F17F4E841246B97B9A7A9FD"], + "permissions" : [ + { + "name" : "ohos.permission.READ_AUDIO", + "userCancellable" : false } ] }, @@ -143,7 +161,7 @@ }, { "bundleName": "com.ohos.filepicker", - "app_signature" : ["C902DDEE3286715B8BA26175A1EF967985D22AEF44BE747702B604D956A76CFA"], + "app_signature" : ["799EAC4119A566D438C1AB0199D9401D77176C368A334F33C03DBB21E54F970E"], "permissions" : [ { "name" : "ohos.permission.READ_MEDIA", @@ -156,6 +174,14 @@ { "name" : "ohos.permission.MEDIA_LOCATION", "userCancellable" : false + }, + { + "name" : "ohos.permission.READ_AUDIO", + "userCancellable" : false + }, + { + "name" : "ohos.permission.WRITE_AUDIO", + "userCancellable" : false } ] }, @@ -202,8 +228,8 @@ ] }, { - "bundleName": "cn.openharmony.inputmethodchoosedialog", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.inputmethodchoosedialog", + "app_signature" : ["CE4D01EF424B829E13652BB1743E18B8E4542DD5A7BBA7D7D472F727FA6F8A9D"], "permissions" : [ { "name" : "ohos.permission.CONNECT_IME_ABILITY", @@ -318,45 +344,13 @@ ] }, { - "bundleName": "ohos.samples.browser1", - "app_signature" : ["208850C05E411A1EA7B1F26B4D5865208415D8D878D6CA42F9290BF6D6CA6D8A"], + "bundleName": "com.ohos.dhardwareui", + "app_signature" : ["D8B95864BA867BE8299BEB45CEC85B6905D59FD726D43C3AE60E051E9E658738"], "permissions" : [ { - "name" : "ohos.permission.GET_INSTALLED_BUNDLE_LIST", - "userCancellable" : false - }, - { - "name": "ohos.permission.READ_MEDIA", - "userCancellable" : false - }, - { - "name": "ohos.permission.WRITE_MEDIA", - "userCancellable" : false - }, - { - "name": "ohos.permission.ACCESS_DLP_FILE", - "userCancellable" : false - }, - { - "name": "ohos.permission.MANAGE_LOCAL_ACCOUNTS", - "userCancellable" : false - }, - { - "name":"ohos.permission.FILE_ACCESS_MANAGER", - "userCancellable" : false - }, - { - "name":"ohos.permission.START_ABILIIES_FROM_BACKGROUND", - "userCancellable" : false - }, - { - "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "name" : "ohos.permission.ACCESS_DISTRIBUTED_HARDWARE", "userCancellable" : false - }, - { - "name": "ohos.permission.MEDIA_LOCATION", - "userCancellable" : false - } -] + } + ] } ] diff --git a/vendor_phytium/phytiumpi-firefly/preinstall-config/uninstall_list.json b/vendor_phytium/phytiumpi-firefly/preinstall-config/uninstall_list.json old mode 100755 new mode 100644 diff --git a/vendor_phytium/phytiumpi-firefly/resourceschedule/ressched/res_sched_plugin_switch.xml b/vendor_phytium/phytiumpi-firefly/resourceschedule/ressched/res_sched_plugin_switch.xml index 8a534ad80331762c6a2e7d4ec2fd65b01311a280..5d1aa11402a2b04bc6415c5a438190c03a12c092 100755 --- a/vendor_phytium/phytiumpi-firefly/resourceschedule/ressched/res_sched_plugin_switch.xml +++ b/vendor_phytium/phytiumpi-firefly/resourceschedule/ressched/res_sched_plugin_switch.xml @@ -17,4 +17,5 @@ + diff --git a/vendor_phytium/tenglong_e/bundle.json b/vendor_phytium/tenglong_e/bundle.json index 1b2c12f76dab7bff2dda3f7fe3fa28a4cb92e598..9b140c4c66363198e6216c79a9aafd9059501ac8 100755 --- a/vendor_phytium/tenglong_e/bundle.json +++ b/vendor_phytium/tenglong_e/bundle.json @@ -1,6 +1,6 @@ { "name": "@ohos/phytium_tenglong_e", - "version": "4.1", + "version": "5.1", "license": "Apache License 2.0", "private": false, "scripts": {}, diff --git a/vendor_phytium/tenglong_e/config.json b/vendor_phytium/tenglong_e/config.json index 8fc68521d26dea652b9180b34b6edd8be0de7d93..2ff6f52aa185f4a2c535992b0d9f94d8b4df83fa 100755 --- a/vendor_phytium/tenglong_e/config.json +++ b/vendor_phytium/tenglong_e/config.json @@ -51,9 +51,30 @@ } ] }, + { + "subsystem": "tee", + "components": [ + { + "component": "tee_client", + "features": [] + } + ] + }, { "subsystem": "hdf", "components": [ + { + "component": "drivers_interface_ril", + "features": [] + }, + { + "component": "drivers_peripheral_ril", + "features":[] + }, + { + "component": "drivers_interface_bluetooth", + "features": [] + }, { "component": "drivers_interface_audio", "features": [] @@ -66,6 +87,12 @@ "drivers_peripheral_audio_feature_effect = false" ] }, + { + "component": "alsa-lib", + "features": [ + "alsa_lib_feature_config_enable = true" + ] + }, { "component": "drivers_peripheral_display", "features": [ @@ -81,8 +108,7 @@ { "component": "init", "features": [ - "init_feature_ab_partition = true", - "init_feature_loader = true" + "init_feature_ab_partition = true" ] } ] @@ -174,6 +200,7 @@ { "component": "hiview", "features": [ + "hiview_feature_bbox_userspace = true", "hiview_enable_leak_detector = true", "hiview_enable_performance_monitor = true" ] diff --git a/vendor_phytium/tenglong_e/hals/audio/config/audio_policy_config.xml b/vendor_phytium/tenglong_e/hals/audio/config/audio_policy_config.xml index 3b7f7830bf48b1d4ff19ce3439706182d8055530..baef65d292a17d392f0d0bb05ca76a68f7c0dc3d 100755 --- a/vendor_phytium/tenglong_e/hals/audio/config/audio_policy_config.xml +++ b/vendor_phytium/tenglong_e/hals/audio/config/audio_policy_config.xml @@ -12,24 +12,28 @@ See the License for the specific language governing permissions and limitations under the License. --> - + - + + - + + + + @@ -45,10 +49,13 @@ - - - + + + + + + @@ -60,14 +67,20 @@ - + + + + - + + + + @@ -94,6 +107,8 @@ + + @@ -101,14 +116,5 @@ - - - - - - - - - diff --git a/vendor_phytium/tenglong_e/preinstall-config/BUILD.gn b/vendor_phytium/tenglong_e/preinstall-config/BUILD.gn old mode 100755 new mode 100644 diff --git a/vendor_phytium/tenglong_e/preinstall-config/install_list.json b/vendor_phytium/tenglong_e/preinstall-config/install_list.json old mode 100755 new mode 100644 index bcd127ac0b07f91eb4a711e5a0bbc2b84d04cdcf..2380f11feaadbcc3c586db84e5aa9ccc4e00b8a9 --- a/vendor_phytium/tenglong_e/preinstall-config/install_list.json +++ b/vendor_phytium/tenglong_e/preinstall-config/install_list.json @@ -72,6 +72,10 @@ "app_dir" : "/system/app/com.ohos.medialibrary.MediaLibraryData", "removable" : false }, + { + "app_dir" : "/system/app/com.ohos.ringtonelibrary.RingtoneLibraryData", + "removable" : false + }, { "app_dir" : "/system/app/com.ohos.callui", "removable" : false @@ -113,7 +117,7 @@ "removable" : false }, { - "app_dir" : "/system/app/com.ohos.nweb", + "app_dir" : "/system/app/com.ohos.arkwebcore", "removable" : false }, { @@ -137,7 +141,7 @@ "removable" : false }, { - "app_dir" : "/system/app/ohos.backgroundtaskmgr.resources", + "app_dir" : "/system/app/com.ohos.backgroundtaskmgr.resources", "removable" : false }, { @@ -149,7 +153,7 @@ "removable" : true }, { - "app_dir" : "/system/app/cn.openharmony.inputmethodchoosedialog", + "app_dir" : "/system/app/com.ohos.inputmethodchoosedialog", "removable" : false }, { @@ -157,7 +161,7 @@ "removable": false }, { - "app_dir" : "/system/app/cn.openharmony.pasteboarddialog", + "app_dir" : "/system/app/com.ohos.pasteboarddialog", "removable" : true }, { @@ -197,8 +201,20 @@ "removable": false }, { - "app_dir": "/system/app/ohos.samples.browser1", + "app_dir": "/system/app/com.usb.function", + "removable": true + }, + { + "app_dir": "/system/app/VpnDialog", "removable": false + }, + { + "app_dir" : "/system/app/com.ohos.dhardwareui", + "removable" : true + }, + { + "app_dir": "/system/app/com.ohos.security.privacycenter", + "removable": true } ] } diff --git a/vendor_phytium/tenglong_e/preinstall-config/install_list_capability.json b/vendor_phytium/tenglong_e/preinstall-config/install_list_capability.json old mode 100755 new mode 100644 index b75b2043640ba1a626029b53404b595f05dd5989..5186cbb0f24ac0b35cf62b192ac0450435a7a562 --- a/vendor_phytium/tenglong_e/preinstall-config/install_list_capability.json +++ b/vendor_phytium/tenglong_e/preinstall-config/install_list_capability.json @@ -2,7 +2,6 @@ "install_list": [ { "bundleName": "com.example.kikakeyboard", - "singleton": true, "runningResourcesApply": false, "associatedWakeUp": false, "app_signature" : ["9AED2A79925ECA050CD2BB9D2A7F694E49E5E135D28EBDCE53836DE76B5080ED"], @@ -42,12 +41,17 @@ { "bundleName": "com.ohos.settingsdata", "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowCommonEvent" : [ + "usual.event.USER_ADDED", + "usual.event.USER_REMOVED" + ], "singleton": true, "keepAlive": true, - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { - "bundleName": "ohos.backgroundtaskmgr.resources", + "bundleName": "com.ohos.backgroundtaskmgr.resources", "app_signature" : ["72BE2C651A9E0C57B4BB67825BA6F8180FC883858434712150A55C17C7E1A6F7"], "singleton": true, "allowAppDesktopIconHide": true @@ -62,6 +66,10 @@ "bundleName": "com.ohos.devicetest", "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], "runningResourcesApply": true, + "resourcesApply": [ + 0, + 100 + ], "associatedWakeUp": true, "allowAppUsePrivilegeExtension": true }, @@ -69,7 +77,8 @@ "bundleName": "com.ohos.contactsdataability", "app_signature" : ["D729F438E1EF2E154994E2B077F6C0CD592BA9F9C938BB428FCDA564FF805EE4"], "associatedWakeUp": true, - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.telephonydataability", @@ -86,19 +95,19 @@ "allowAppUsePrivilegeExtension": true }, { - "bundleName": "cn.openharmony.inputmethodchoosedialog", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.inputmethodchoosedialog", + "app_signature" : ["CE4D01EF424B829E13652BB1743E18B8E4542DD5A7BBA7D7D472F727FA6F8A9D"], "allowAppDesktopIconHide": true, "allowAppUsePrivilegeExtension": true }, { - "bundleName": "cn.openharmony.pasteboarddialog", - "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.pasteboarddialog", + "app_signature": ["96BC128A658C8AA7A3C6601791F109E975CBBCDE37067725C240875E98CB99C8"], "allowAppUsePrivilegeExtension": true }, { "bundleName": "com.ohos.amsdialog", - "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature": ["A004990956B96A415E849F6050AE472EE0B85F15E1928AE2CEFB49419BD2D074"], "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -111,7 +120,8 @@ { "bundleName": "com.ohos.launcher", "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppRunWhenDeviceFirstLocked": true }, { "bundleName": "com.ohos.medialibrary.medialibrarydata", @@ -119,6 +129,12 @@ "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, + { + "bundleName": "com.ohos.ringtonelibrary.ringtonelibrarydata", + "app_signature": ["8C6B95137E594835B00A60DF8DC1350D040D58624F17F4E841246B97B9A7A9FD"], + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true + }, { "bundleName": "com.ohos.permissionmanager", "app_signature": ["68079CC9CB1BD69283D70790305645FFF61CD1E46CAFD7AA53B9FA8540432B81"], @@ -130,12 +146,14 @@ "E3F4322139E0109BAFAD8DA4096762068E31708C3CF201780E736D377D60B639", "5FEDFF587F4109E565B96512404D606D539C8DFFCE1424ACBD1B2A7D3E843D4D" ], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.photos", "app_signature": ["9AED2A79925ECA050CD2BB9D2A7F694E49E5E135D28EBDCE53836DE76B5080ED"], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowFormVisibleNotify": true }, { "bundleName": "com.ohos.powerdialog", @@ -156,7 +174,7 @@ }, { "bundleName": "com.ohos.screenshot", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature" : ["com.ohos.screenshot_BPgjq9cj5JyweCCfYME1bzHG1/mf3O8o3TRauZBbLY88KQDsXTsuFVd36R3cnIdxpOosELsi0BKxgowdI7IOBUU="], "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -190,7 +208,7 @@ { "bundleName": "com.ohos.formrenderservice", "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], - "singleton": true, + "singleton": false, "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -201,20 +219,56 @@ }, { "bundleName": "com.ohos.spooler", - "app_signature" : ["B68D7BE6599CA7ADEDBC95CD1CE176AA96D996D3F41588A487E5F5C4E5DC9427"], + "app_signature" : ["0B0289F397E77F1D28B5AF426BEA72C53FB963CCC45BA193F6CB4A52CAB5987A"], "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.calendardata", - "app_signature" : ["1C6905C65DE22F5160790D34ADA462EE9ED3D9EEAA4FCBD4FEC7FFEE7D1D4FD2"], + "app_signature" : ["CC249153FA175206B1427C71DB0F2232D91FA4B2ED7955AE1D6EBA4C362D359A"], "allowAppDesktopIconHide": true, "allowAppUsePrivilegeExtension": true }, { - "bundleName": "ohos.samples.browser1", - "app_signature": ["208850C05E411A1EA7B1F26B4D5865208415D8D878D6CA42F9290BF6D6CA6D8A"], + "bundleName": "ohos.samples.distributedmusicplayer", + "app_signature" : ["CE457F6ACB11F9406B393AF490E6DEFAA4DD1CA7AB6F694EA6119EE18DDF4BBE"], + "allowAppUsePrivilegeExtension": true + }, + { + "bundleName": "com.usb.function", + "app_signature": ["D729F438E1EF2E154994E2B077F6C0CD592BA9F9C938BB428FCDA564FF805EE4"], + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.vpndialog", + "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], "allowAppUsePrivilegeExtension": true, - "allowAppDesktopIconHide": false + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.dhardwareui", + "app_signature": ["D8B95864BA867BE8299BEB45CEC85B6905D59FD726D43C3AE60E051E9E658738"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.arkwebcore", + "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.filepicker", + "app_signature": ["799EAC4119A566D438C1AB0199D9401D77176C368A334F33C03DBB21E54F970E"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.locationdialog", + "app_signature": ["8FD346D9BF992BE6CD80BFB4F1E60EF0D50BC9E04593AF1D47714E339B44268D"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "ohos.telephony.resources", + "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowAppDesktopIconHide": true } ] } diff --git a/vendor_phytium/tenglong_e/preinstall-config/install_list_permissions.json b/vendor_phytium/tenglong_e/preinstall-config/install_list_permissions.json old mode 100755 new mode 100644 index f04487fad738142b71b9d9270d05f71ff78fccce..6aa30ee6a85c6c734c0a003b753482a8479ff136 --- a/vendor_phytium/tenglong_e/preinstall-config/install_list_permissions.json +++ b/vendor_phytium/tenglong_e/preinstall-config/install_list_permissions.json @@ -1,7 +1,7 @@ [ { "bundleName" : "com.ohos.screenshot", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature" : ["com.ohos.screenshot_BPgjq9cj5JyweCCfYME1bzHG1/mf3O8o3TRauZBbLY88KQDsXTsuFVd36R3cnIdxpOosELsi0BKxgowdI7IOBUU="], "permissions" : [ { "name" : "ohos.permission.MEDIA_LOCATION", @@ -14,6 +14,10 @@ { "name" : "ohos.permission.WRITE_MEDIA", "userCancellable" : true + }, + { + "name" : "ohos.permission.WRITE_IMAGEVIDEO", + "userCancellable" : true } ] }, @@ -24,6 +28,20 @@ { "name" : "ohos.permission.DISTRIBUTED_DATASYNC", "userCancellable" : false + }, + { + "name" : "ohos.permission.READ_IMAGEVIDEO", + "userCancellable" : false + } + ] + }, + { + "bundleName" : "com.ohos.ringtonelibrary.ringtonelibrarydata", + "app_signature" : ["8C6B95137E594835B00A60DF8DC1350D040D58624F17F4E841246B97B9A7A9FD"], + "permissions" : [ + { + "name" : "ohos.permission.READ_AUDIO", + "userCancellable" : false } ] }, @@ -143,7 +161,7 @@ }, { "bundleName": "com.ohos.filepicker", - "app_signature" : ["C902DDEE3286715B8BA26175A1EF967985D22AEF44BE747702B604D956A76CFA"], + "app_signature" : ["799EAC4119A566D438C1AB0199D9401D77176C368A334F33C03DBB21E54F970E"], "permissions" : [ { "name" : "ohos.permission.READ_MEDIA", @@ -156,6 +174,14 @@ { "name" : "ohos.permission.MEDIA_LOCATION", "userCancellable" : false + }, + { + "name" : "ohos.permission.READ_AUDIO", + "userCancellable" : false + }, + { + "name" : "ohos.permission.WRITE_AUDIO", + "userCancellable" : false } ] }, @@ -202,8 +228,8 @@ ] }, { - "bundleName": "cn.openharmony.inputmethodchoosedialog", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.inputmethodchoosedialog", + "app_signature" : ["CE4D01EF424B829E13652BB1743E18B8E4542DD5A7BBA7D7D472F727FA6F8A9D"], "permissions" : [ { "name" : "ohos.permission.CONNECT_IME_ABILITY", @@ -318,45 +344,13 @@ ] }, { - "bundleName": "ohos.samples.browser1", - "app_signature" : ["208850C05E411A1EA7B1F26B4D5865208415D8D878D6CA42F9290BF6D6CA6D8A"], + "bundleName": "com.ohos.dhardwareui", + "app_signature" : ["D8B95864BA867BE8299BEB45CEC85B6905D59FD726D43C3AE60E051E9E658738"], "permissions" : [ { - "name" : "ohos.permission.GET_INSTALLED_BUNDLE_LIST", - "userCancellable" : false - }, - { - "name": "ohos.permission.READ_MEDIA", - "userCancellable" : false - }, - { - "name": "ohos.permission.WRITE_MEDIA", - "userCancellable" : false - }, - { - "name": "ohos.permission.ACCESS_DLP_FILE", - "userCancellable" : false - }, - { - "name": "ohos.permission.MANAGE_LOCAL_ACCOUNTS", - "userCancellable" : false - }, - { - "name":"ohos.permission.FILE_ACCESS_MANAGER", - "userCancellable" : false - }, - { - "name":"ohos.permission.START_ABILIIES_FROM_BACKGROUND", - "userCancellable" : false - }, - { - "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "name" : "ohos.permission.ACCESS_DISTRIBUTED_HARDWARE", "userCancellable" : false - }, - { - "name": "ohos.permission.MEDIA_LOCATION", - "userCancellable" : false - } -] + } + ] } ] diff --git a/vendor_phytium/tenglong_e/preinstall-config/uninstall_list.json b/vendor_phytium/tenglong_e/preinstall-config/uninstall_list.json old mode 100755 new mode 100644 diff --git a/vendor_phytium/tenglong_e/resourceschedule/ressched/res_sched_plugin_switch.xml b/vendor_phytium/tenglong_e/resourceschedule/ressched/res_sched_plugin_switch.xml index 8a534ad80331762c6a2e7d4ec2fd65b01311a280..5d1aa11402a2b04bc6415c5a438190c03a12c092 100755 --- a/vendor_phytium/tenglong_e/resourceschedule/ressched/res_sched_plugin_switch.xml +++ b/vendor_phytium/tenglong_e/resourceschedule/ressched/res_sched_plugin_switch.xml @@ -17,4 +17,5 @@ + diff --git a/vendor_phytium/tengrui_d/bundle.json b/vendor_phytium/tengrui_d/bundle.json index 122dd57a0154bea3d76add7752d7fa19fe528f40..2c46e6f1e39537a4f3526b3b482a7de0d00d284c 100644 --- a/vendor_phytium/tengrui_d/bundle.json +++ b/vendor_phytium/tengrui_d/bundle.json @@ -1,6 +1,6 @@ { "name": "@ohos/phytium_tengrui_d", - "version": "4.1", + "version": "5.1", "license": "Apache License 2.0", "private": false, "scripts": {}, diff --git a/vendor_phytium/tengrui_d/config.json b/vendor_phytium/tengrui_d/config.json index dcfb8bb76fc0096e7092a1953875b3712ae30f99..1a137576b43f8a341b33e93177a5dbde2eda4d64 100755 --- a/vendor_phytium/tengrui_d/config.json +++ b/vendor_phytium/tengrui_d/config.json @@ -51,9 +51,30 @@ } ] }, + { + "subsystem": "tee", + "components": [ + { + "component": "tee_client", + "features": [] + } + ] + }, { "subsystem": "hdf", "components": [ + { + "component": "drivers_interface_ril", + "features": [] + }, + { + "component": "drivers_peripheral_ril", + "features":[] + }, + { + "component": "drivers_interface_bluetooth", + "features": [] + }, { "component": "drivers_interface_audio", "features": [] @@ -66,6 +87,12 @@ "drivers_peripheral_audio_feature_effect = false" ] }, + { + "component": "alsa-lib", + "features": [ + "alsa_lib_feature_config_enable = true" + ] + }, { "component": "drivers_peripheral_display", "features": [ @@ -81,8 +108,7 @@ { "component": "init", "features": [ - "init_feature_ab_partition = true", - "init_feature_loader = true" + "init_feature_ab_partition = true" ] } ] @@ -174,6 +200,7 @@ { "component": "hiview", "features": [ + "hiview_feature_bbox_userspace = true", "hiview_enable_leak_detector = true", "hiview_enable_performance_monitor = true" ] diff --git a/vendor_phytium/tengrui_d/hals/audio/config/audio_policy_config.xml b/vendor_phytium/tengrui_d/hals/audio/config/audio_policy_config.xml index 3b7f7830bf48b1d4ff19ce3439706182d8055530..baef65d292a17d392f0d0bb05ca76a68f7c0dc3d 100644 --- a/vendor_phytium/tengrui_d/hals/audio/config/audio_policy_config.xml +++ b/vendor_phytium/tengrui_d/hals/audio/config/audio_policy_config.xml @@ -12,24 +12,28 @@ See the License for the specific language governing permissions and limitations under the License. --> - + - + + - + + + + @@ -45,10 +49,13 @@ - - - + + + + + + @@ -60,14 +67,20 @@ - + + + + - + + + + @@ -94,6 +107,8 @@ + + @@ -101,14 +116,5 @@ - - - - - - - - - diff --git a/vendor_phytium/tengrui_d/preinstall-config/install_list.json b/vendor_phytium/tengrui_d/preinstall-config/install_list.json index bcd127ac0b07f91eb4a711e5a0bbc2b84d04cdcf..2380f11feaadbcc3c586db84e5aa9ccc4e00b8a9 100644 --- a/vendor_phytium/tengrui_d/preinstall-config/install_list.json +++ b/vendor_phytium/tengrui_d/preinstall-config/install_list.json @@ -72,6 +72,10 @@ "app_dir" : "/system/app/com.ohos.medialibrary.MediaLibraryData", "removable" : false }, + { + "app_dir" : "/system/app/com.ohos.ringtonelibrary.RingtoneLibraryData", + "removable" : false + }, { "app_dir" : "/system/app/com.ohos.callui", "removable" : false @@ -113,7 +117,7 @@ "removable" : false }, { - "app_dir" : "/system/app/com.ohos.nweb", + "app_dir" : "/system/app/com.ohos.arkwebcore", "removable" : false }, { @@ -137,7 +141,7 @@ "removable" : false }, { - "app_dir" : "/system/app/ohos.backgroundtaskmgr.resources", + "app_dir" : "/system/app/com.ohos.backgroundtaskmgr.resources", "removable" : false }, { @@ -149,7 +153,7 @@ "removable" : true }, { - "app_dir" : "/system/app/cn.openharmony.inputmethodchoosedialog", + "app_dir" : "/system/app/com.ohos.inputmethodchoosedialog", "removable" : false }, { @@ -157,7 +161,7 @@ "removable": false }, { - "app_dir" : "/system/app/cn.openharmony.pasteboarddialog", + "app_dir" : "/system/app/com.ohos.pasteboarddialog", "removable" : true }, { @@ -197,8 +201,20 @@ "removable": false }, { - "app_dir": "/system/app/ohos.samples.browser1", + "app_dir": "/system/app/com.usb.function", + "removable": true + }, + { + "app_dir": "/system/app/VpnDialog", "removable": false + }, + { + "app_dir" : "/system/app/com.ohos.dhardwareui", + "removable" : true + }, + { + "app_dir": "/system/app/com.ohos.security.privacycenter", + "removable": true } ] } diff --git a/vendor_phytium/tengrui_d/preinstall-config/install_list_capability.json b/vendor_phytium/tengrui_d/preinstall-config/install_list_capability.json index b75b2043640ba1a626029b53404b595f05dd5989..5186cbb0f24ac0b35cf62b192ac0450435a7a562 100644 --- a/vendor_phytium/tengrui_d/preinstall-config/install_list_capability.json +++ b/vendor_phytium/tengrui_d/preinstall-config/install_list_capability.json @@ -2,7 +2,6 @@ "install_list": [ { "bundleName": "com.example.kikakeyboard", - "singleton": true, "runningResourcesApply": false, "associatedWakeUp": false, "app_signature" : ["9AED2A79925ECA050CD2BB9D2A7F694E49E5E135D28EBDCE53836DE76B5080ED"], @@ -42,12 +41,17 @@ { "bundleName": "com.ohos.settingsdata", "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowCommonEvent" : [ + "usual.event.USER_ADDED", + "usual.event.USER_REMOVED" + ], "singleton": true, "keepAlive": true, - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { - "bundleName": "ohos.backgroundtaskmgr.resources", + "bundleName": "com.ohos.backgroundtaskmgr.resources", "app_signature" : ["72BE2C651A9E0C57B4BB67825BA6F8180FC883858434712150A55C17C7E1A6F7"], "singleton": true, "allowAppDesktopIconHide": true @@ -62,6 +66,10 @@ "bundleName": "com.ohos.devicetest", "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], "runningResourcesApply": true, + "resourcesApply": [ + 0, + 100 + ], "associatedWakeUp": true, "allowAppUsePrivilegeExtension": true }, @@ -69,7 +77,8 @@ "bundleName": "com.ohos.contactsdataability", "app_signature" : ["D729F438E1EF2E154994E2B077F6C0CD592BA9F9C938BB428FCDA564FF805EE4"], "associatedWakeUp": true, - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.telephonydataability", @@ -86,19 +95,19 @@ "allowAppUsePrivilegeExtension": true }, { - "bundleName": "cn.openharmony.inputmethodchoosedialog", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.inputmethodchoosedialog", + "app_signature" : ["CE4D01EF424B829E13652BB1743E18B8E4542DD5A7BBA7D7D472F727FA6F8A9D"], "allowAppDesktopIconHide": true, "allowAppUsePrivilegeExtension": true }, { - "bundleName": "cn.openharmony.pasteboarddialog", - "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.pasteboarddialog", + "app_signature": ["96BC128A658C8AA7A3C6601791F109E975CBBCDE37067725C240875E98CB99C8"], "allowAppUsePrivilegeExtension": true }, { "bundleName": "com.ohos.amsdialog", - "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature": ["A004990956B96A415E849F6050AE472EE0B85F15E1928AE2CEFB49419BD2D074"], "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -111,7 +120,8 @@ { "bundleName": "com.ohos.launcher", "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppRunWhenDeviceFirstLocked": true }, { "bundleName": "com.ohos.medialibrary.medialibrarydata", @@ -119,6 +129,12 @@ "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, + { + "bundleName": "com.ohos.ringtonelibrary.ringtonelibrarydata", + "app_signature": ["8C6B95137E594835B00A60DF8DC1350D040D58624F17F4E841246B97B9A7A9FD"], + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true + }, { "bundleName": "com.ohos.permissionmanager", "app_signature": ["68079CC9CB1BD69283D70790305645FFF61CD1E46CAFD7AA53B9FA8540432B81"], @@ -130,12 +146,14 @@ "E3F4322139E0109BAFAD8DA4096762068E31708C3CF201780E736D377D60B639", "5FEDFF587F4109E565B96512404D606D539C8DFFCE1424ACBD1B2A7D3E843D4D" ], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.photos", "app_signature": ["9AED2A79925ECA050CD2BB9D2A7F694E49E5E135D28EBDCE53836DE76B5080ED"], - "allowAppUsePrivilegeExtension": true + "allowAppUsePrivilegeExtension": true, + "allowFormVisibleNotify": true }, { "bundleName": "com.ohos.powerdialog", @@ -156,7 +174,7 @@ }, { "bundleName": "com.ohos.screenshot", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature" : ["com.ohos.screenshot_BPgjq9cj5JyweCCfYME1bzHG1/mf3O8o3TRauZBbLY88KQDsXTsuFVd36R3cnIdxpOosELsi0BKxgowdI7IOBUU="], "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -190,7 +208,7 @@ { "bundleName": "com.ohos.formrenderservice", "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], - "singleton": true, + "singleton": false, "allowAppUsePrivilegeExtension": true, "allowAppDesktopIconHide": true }, @@ -201,20 +219,56 @@ }, { "bundleName": "com.ohos.spooler", - "app_signature" : ["B68D7BE6599CA7ADEDBC95CD1CE176AA96D996D3F41588A487E5F5C4E5DC9427"], + "app_signature" : ["0B0289F397E77F1D28B5AF426BEA72C53FB963CCC45BA193F6CB4A52CAB5987A"], "allowAppDesktopIconHide": true }, { "bundleName": "com.ohos.calendardata", - "app_signature" : ["1C6905C65DE22F5160790D34ADA462EE9ED3D9EEAA4FCBD4FEC7FFEE7D1D4FD2"], + "app_signature" : ["CC249153FA175206B1427C71DB0F2232D91FA4B2ED7955AE1D6EBA4C362D359A"], "allowAppDesktopIconHide": true, "allowAppUsePrivilegeExtension": true }, { - "bundleName": "ohos.samples.browser1", - "app_signature": ["208850C05E411A1EA7B1F26B4D5865208415D8D878D6CA42F9290BF6D6CA6D8A"], + "bundleName": "ohos.samples.distributedmusicplayer", + "app_signature" : ["CE457F6ACB11F9406B393AF490E6DEFAA4DD1CA7AB6F694EA6119EE18DDF4BBE"], + "allowAppUsePrivilegeExtension": true + }, + { + "bundleName": "com.usb.function", + "app_signature": ["D729F438E1EF2E154994E2B077F6C0CD592BA9F9C938BB428FCDA564FF805EE4"], + "allowAppUsePrivilegeExtension": true, + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.vpndialog", + "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], "allowAppUsePrivilegeExtension": true, - "allowAppDesktopIconHide": false + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.dhardwareui", + "app_signature": ["D8B95864BA867BE8299BEB45CEC85B6905D59FD726D43C3AE60E051E9E658738"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.arkwebcore", + "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.filepicker", + "app_signature": ["799EAC4119A566D438C1AB0199D9401D77176C368A334F33C03DBB21E54F970E"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "com.ohos.locationdialog", + "app_signature": ["8FD346D9BF992BE6CD80BFB4F1E60EF0D50BC9E04593AF1D47714E339B44268D"], + "allowAppDesktopIconHide": true + }, + { + "bundleName": "ohos.telephony.resources", + "app_signature": ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "allowAppDesktopIconHide": true } ] } diff --git a/vendor_phytium/tengrui_d/preinstall-config/install_list_permissions.json b/vendor_phytium/tengrui_d/preinstall-config/install_list_permissions.json index d5b95845a89b650a97d9f8bd7aa327ab4f5207b0..6aa30ee6a85c6c734c0a003b753482a8479ff136 100644 --- a/vendor_phytium/tengrui_d/preinstall-config/install_list_permissions.json +++ b/vendor_phytium/tengrui_d/preinstall-config/install_list_permissions.json @@ -1,7 +1,7 @@ [ { "bundleName" : "com.ohos.screenshot", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "app_signature" : ["com.ohos.screenshot_BPgjq9cj5JyweCCfYME1bzHG1/mf3O8o3TRauZBbLY88KQDsXTsuFVd36R3cnIdxpOosELsi0BKxgowdI7IOBUU="], "permissions" : [ { "name" : "ohos.permission.MEDIA_LOCATION", @@ -14,6 +14,10 @@ { "name" : "ohos.permission.WRITE_MEDIA", "userCancellable" : true + }, + { + "name" : "ohos.permission.WRITE_IMAGEVIDEO", + "userCancellable" : true } ] }, @@ -24,6 +28,20 @@ { "name" : "ohos.permission.DISTRIBUTED_DATASYNC", "userCancellable" : false + }, + { + "name" : "ohos.permission.READ_IMAGEVIDEO", + "userCancellable" : false + } + ] + }, + { + "bundleName" : "com.ohos.ringtonelibrary.ringtonelibrarydata", + "app_signature" : ["8C6B95137E594835B00A60DF8DC1350D040D58624F17F4E841246B97B9A7A9FD"], + "permissions" : [ + { + "name" : "ohos.permission.READ_AUDIO", + "userCancellable" : false } ] }, @@ -143,7 +161,7 @@ }, { "bundleName": "com.ohos.filepicker", - "app_signature" : ["C902DDEE3286715B8BA26175A1EF967985D22AEF44BE747702B604D956A76CFA"], + "app_signature" : ["799EAC4119A566D438C1AB0199D9401D77176C368A334F33C03DBB21E54F970E"], "permissions" : [ { "name" : "ohos.permission.READ_MEDIA", @@ -156,6 +174,14 @@ { "name" : "ohos.permission.MEDIA_LOCATION", "userCancellable" : false + }, + { + "name" : "ohos.permission.READ_AUDIO", + "userCancellable" : false + }, + { + "name" : "ohos.permission.WRITE_AUDIO", + "userCancellable" : false } ] }, @@ -202,8 +228,8 @@ ] }, { - "bundleName": "cn.openharmony.inputmethodchoosedialog", - "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"], + "bundleName": "com.ohos.inputmethodchoosedialog", + "app_signature" : ["CE4D01EF424B829E13652BB1743E18B8E4542DD5A7BBA7D7D472F727FA6F8A9D"], "permissions" : [ { "name" : "ohos.permission.CONNECT_IME_ABILITY", @@ -318,43 +344,11 @@ ] }, { - "bundleName": "ohos.samples.browser1", - "app_signature" : ["208850C05E411A1EA7B1F26B4D5865208415D8D878D6CA42F9290BF6D6CA6D8A"], + "bundleName": "com.ohos.dhardwareui", + "app_signature" : ["D8B95864BA867BE8299BEB45CEC85B6905D59FD726D43C3AE60E051E9E658738"], "permissions" : [ { - "name" : "ohos.permission.GET_INSTALLED_BUNDLE_LIST", - "userCancellable" : false - }, - { - "name": "ohos.permission.READ_MEDIA", - "userCancellable" : false - }, - { - "name": "ohos.permission.WRITE_MEDIA", - "userCancellable" : false - }, - { - "name": "ohos.permission.ACCESS_DLP_FILE", - "userCancellable" : false - }, - { - "name": "ohos.permission.MANAGE_LOCAL_ACCOUNTS", - "userCancellable" : false - }, - { - "name":"ohos.permission.FILE_ACCESS_MANAGER", - "userCancellable" : false - }, - { - "name":"ohos.permission.START_ABILIIES_FROM_BACKGROUND", - "userCancellable" : false - }, - { - "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", - "userCancellable" : false - }, - { - "name": "ohos.permission.MEDIA_LOCATION", + "name" : "ohos.permission.ACCESS_DISTRIBUTED_HARDWARE", "userCancellable" : false } ] diff --git a/vendor_phytium/tengrui_d/resourceschedule/ressched/res_sched_plugin_switch.xml b/vendor_phytium/tengrui_d/resourceschedule/ressched/res_sched_plugin_switch.xml index 8a534ad80331762c6a2e7d4ec2fd65b01311a280..5d1aa11402a2b04bc6415c5a438190c03a12c092 100644 --- a/vendor_phytium/tengrui_d/resourceschedule/ressched/res_sched_plugin_switch.xml +++ b/vendor_phytium/tengrui_d/resourceschedule/ressched/res_sched_plugin_switch.xml @@ -17,4 +17,5 @@ +