diff --git a/package/lean/default-settings/files/zzz-default-settings b/package/lean/default-settings/files/zzz-default-settings index 7101368bf..a37d96d2d 100755 --- a/package/lean/default-settings/files/zzz-default-settings +++ b/package/lean/default-settings/files/zzz-default-settings @@ -46,7 +46,7 @@ sed -i '/option disabled/d' /etc/config/wireless sed -i '/set wireless.radio${devidx}.disabled/d' /lib/wifi/mac80211.sh sed -i '/DISTRIB_REVISION/d' /etc/openwrt_release -echo "DISTRIB_REVISION='R22.10.10'" >> /etc/openwrt_release +echo "DISTRIB_REVISION='R22.10.20'" >> /etc/openwrt_release sed -i '/DISTRIB_DESCRIPTION/d' /etc/openwrt_release echo "DISTRIB_DESCRIPTION='OpenWrt '" >> /etc/openwrt_release diff --git a/package/system/fstools/Makefile b/package/system/fstools/Makefile index 9741b7ac0..effe37133 100644 --- a/package/system/fstools/Makefile +++ b/package/system/fstools/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2014-2015 OpenWrt.org +# Copyright (C) 2014-2022 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. diff --git a/package/system/fstools/patches/0100-automount.patch b/package/system/fstools/patches/0100-automount.patch new file mode 100644 index 000000000..a8b864a50 --- /dev/null +++ b/package/system/fstools/patches/0100-automount.patch @@ -0,0 +1,20 @@ +--- a/block.c ++++ b/block.c +@@ -530,7 +530,7 @@ + printf("\toption\tuuid\t'%s'\n", pr->uuid); + else + printf("\toption\tdevice\t'%s'\n", pr->dev); +- printf("\toption\tenabled\t'0'\n\n"); ++ printf("\toption\tenabled\t'1'\n\n"); + + return 0; + } +@@ -1454,7 +1454,7 @@ + cache_load(0); + printf("config 'global'\n"); + printf("\toption\tanon_swap\t'0'\n"); +- printf("\toption\tanon_mount\t'0'\n"); ++ printf("\toption\tanon_mount\t'1'\n"); + printf("\toption\tauto_swap\t'1'\n"); + printf("\toption\tauto_mount\t'1'\n"); + printf("\toption\tdelay_root\t'5'\n"); diff --git a/target/linux/ipq60xx/Makefile b/target/linux/ipq60xx/Makefile index 28b7fb70d..a9b2b83b3 100644 --- a/target/linux/ipq60xx/Makefile +++ b/target/linux/ipq60xx/Makefile @@ -17,5 +17,5 @@ DEFAULT_PACKAGES += \ kmod-ath11k-ahb wpad-openssl uboot-envtools \ kmod-qca-nss-dp kmod-qca-nss-drv-64 kmod-qca-nss-drv-pppoe-64 \ nss-firmware-ipq6018 qca-nss-ecm-64 - + $(eval $(call BuildTarget)) diff --git a/target/linux/ipq60xx/base-files/etc/board.d/02_network b/target/linux/ipq60xx/base-files/etc/board.d/02_network index 364ecf0b0..3378049b6 100644 --- a/target/linux/ipq60xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq60xx/base-files/etc/board.d/02_network @@ -1,45 +1,28 @@ -#!/bin/sh -# -# Copyright (c) 2015 The Linux Foundation. All rights reserved. -# Copyright (c) 2011-2015 OpenWrt.org -# - . /lib/functions/uci-defaults.sh . /lib/functions/system.sh -ipq60xx_setup_interfaces() +setup_network() { - local board="$1" + local macaddr - case "$board" in - qihoo,v6) - ucidef_set_interfaces_lan_wan "eth1 eth2 eth3" "eth0" + case $(board_name) in + linksys,mr7350) + ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3" "eth4" + ;; + tplink,eap610-outdoor) + # /tmp/factory_data should be mounted by preinit + macaddr=$(get_mac_binary /tmp/factory_data/default-mac 0) + ucidef_set_interface_macaddr "lan" "$macaddr" + ucidef_set_interface_lan "eth0" "dhcp" ;; *) - echo "Unsupported hardware. Network interfaces not initialized" + ucidef_set_interface_lan "eth0" ;; esac } -ipq60xx_setup_macs() -{ - local board="$1" - - case "$board" in - qihoo,v6) - lan_mac=$(mtd_get_mac_ascii factory lanMac) - wan_mac=$(macaddr_add "$lan_mac" 1) - ;; - esac - - [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac - [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac -} - board_config_update -board=$(board_name) -ipq60xx_setup_interfaces $board -ipq60xx_setup_macs $board +setup_network board_config_flush -exit 0 \ No newline at end of file +exit 0 diff --git a/target/linux/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata index df5149d8f..13d033edb 100644 --- a/target/linux/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata +++ b/target/linux/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata @@ -4,26 +4,19 @@ . /lib/functions/caldata.sh -board=$(board_name) - -mount_factory_data() { - local firmware_name=$1 - local part - . /lib/functions/system.sh - - - part=$(find_mtd_chardev "factory_data") - ubiattach -p "$part" - mkdir /tmp/facdata - mount -t ubifs,ro ubi0:ubi_factory_data /tmp/facdata - cp /tmp/facdata/radio "/lib/firmware/$firmware_name" -} - case "$FIRMWARE" in "ath11k/IPQ6018/hw1.0/cal-ahb-c000000.wifi.bin") - mount_factory_data $FIRMWARE - ;; -*) - exit 1 + case $(board_name) in + linksys,mr7350) + caldata_extract "0:art" 0x1000 0x10000 + ;; + tplink,eap610-outdoor) + # /tmp/factory_data should be mounted by preinit + cp /tmp/factory_data/radio "/lib/firmware/$FIRMWARE" + ;; + *) + caldata_die "Don't know how to read caldata for $(board_name)" + ;; + esac ;; esac diff --git a/target/linux/ipq60xx/base-files/etc/hotplug.d/ieee80211/10-fix-mac-address b/target/linux/ipq60xx/base-files/etc/hotplug.d/ieee80211/10-fix-mac-address new file mode 100644 index 000000000..075c1d719 --- /dev/null +++ b/target/linux/ipq60xx/base-files/etc/hotplug.d/ieee80211/10-fix-mac-address @@ -0,0 +1,16 @@ +[ "$ACTION" == "add" ] || exit 0 + +PHY_NUM=${DEVPATH##*/phy} + +[ -n $PHY_NUM ] || exit 0 + +. /lib/functions.sh +. /lib/functions/system.sh + +case "$(board_name)" in +tplink,eap610-outdoor) + # /tmp/factory_data should have been mounted by preinit + base_mac=$(get_mac_binary /tmp/factory_data/default-mac 0) + macaddr_add $base_mac $(expr "$PHY_NUM" + 1) > /sys${DEVPATH}/macaddress + ;; +esac diff --git a/target/linux/ipq60xx/base-files/lib/firmware/IPQ6018/hw1.0/board.bin b/target/linux/ipq60xx/base-files/lib/firmware/IPQ6018/hw1.0/board.bin deleted file mode 120000 index c1e9a5da4..000000000 --- a/target/linux/ipq60xx/base-files/lib/firmware/IPQ6018/hw1.0/board.bin +++ /dev/null @@ -1 +0,0 @@ -../bdwlan_US.bin \ No newline at end of file diff --git a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan.bin b/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan.bin deleted file mode 120000 index fceba4ebf..000000000 --- a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan.bin +++ /dev/null @@ -1 +0,0 @@ -/tmp/IPQ6018/bdwlan.bin \ No newline at end of file diff --git a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_CA.bin b/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_CA.bin deleted file mode 100755 index baad53443..000000000 Binary files a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_CA.bin and /dev/null differ diff --git a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_EU.bin b/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_EU.bin deleted file mode 120000 index c2822c631..000000000 --- a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_EU.bin +++ /dev/null @@ -1 +0,0 @@ -bdwlan_US.bin \ No newline at end of file diff --git a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_JP.bin b/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_JP.bin deleted file mode 120000 index c2822c631..000000000 --- a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_JP.bin +++ /dev/null @@ -1 +0,0 @@ -bdwlan_US.bin \ No newline at end of file diff --git a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_US.bin b/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_US.bin deleted file mode 100755 index 4b5b40f01..000000000 Binary files a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/bdwlan_US.bin and /dev/null differ diff --git a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/board.bin b/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/board.bin deleted file mode 120000 index c2822c631..000000000 --- a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/board.bin +++ /dev/null @@ -1 +0,0 @@ -bdwlan_US.bin \ No newline at end of file diff --git a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/hw1.0/board.bin b/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/hw1.0/board.bin deleted file mode 120000 index c1e9a5da4..000000000 --- a/target/linux/ipq60xx/base-files/lib/firmware/ath11k/IPQ6018/hw1.0/board.bin +++ /dev/null @@ -1 +0,0 @@ -../bdwlan_US.bin \ No newline at end of file diff --git a/target/linux/ipq60xx/base-files/lib/preinit/69_mount_factory_data b/target/linux/ipq60xx/base-files/lib/preinit/69_mount_factory_data new file mode 100644 index 000000000..97608db55 --- /dev/null +++ b/target/linux/ipq60xx/base-files/lib/preinit/69_mount_factory_data @@ -0,0 +1,19 @@ +#!/bin/sh + +preinit_mount_factory_data() { + local mtd_path + + . /lib/functions.sh + . /lib/functions/system.sh + + case $(board_name) in + tplink,eap610-outdoor) + mtd_path=$(find_mtd_chardev "factory_data") + ubiattach --dev-path="$mtd_path" --devn=1 + mkdir /tmp/factory_data + mount -o ro,noatime -t ubifs ubi1:ubi_factory_data /tmp/factory_data + ;; + esac +} + +boot_hook_add preinit_main preinit_mount_factory_data diff --git a/target/linux/ipq60xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq60xx/base-files/lib/upgrade/platform.sh deleted file mode 100644 index f5c64271a..000000000 --- a/target/linux/ipq60xx/base-files/lib/upgrade/platform.sh +++ /dev/null @@ -1,18 +0,0 @@ -PART_NAME=firmware -REQUIRE_IMAGE_METADATA=1 - -RAMFS_COPY_BIN='fw_printenv fw_setenv' -RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock' - -platform_check_image() { - return 0; -} - -platform_do_upgrade() { - board=$(board_name) - case $board in - qihoo,v6) - nand_do_upgrade "$1" - ;; - esac -} \ No newline at end of file diff --git a/target/linux/ipq60xx/config-5.15 b/target/linux/ipq60xx/config-5.15 index 2e4c9a102..006f0ffa4 100644 --- a/target/linux/ipq60xx/config-5.15 +++ b/target/linux/ipq60xx/config-5.15 @@ -155,7 +155,6 @@ CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GLOB=y -CONFIG_GPIOLIB=y CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_HANDLE_DOMAIN_IRQ=y @@ -340,6 +339,7 @@ CONFIG_QCOM_BAM_DMA=y # CONFIG_QCOM_CLK_APCC_MSM8996 is not set # CONFIG_QCOM_CLK_APCS_MSM8916 is not set # CONFIG_QCOM_CLK_APCS_SDX55 is not set +CONFIG_QCOM_CLK_SMD_RPM=y # CONFIG_QCOM_COINCELL is not set # CONFIG_QCOM_COMMAND_DB is not set # CONFIG_QCOM_CPR is not set @@ -361,11 +361,13 @@ CONFIG_QCOM_Q6V5_COMMON=y CONFIG_QCOM_Q6V5_WCSS=y CONFIG_QCOM_QFPROM=y # CONFIG_QCOM_RMTFS_MEM is not set +CONFIG_QCOM_RPMCC=y # CONFIG_QCOM_RPMH is not set +CONFIG_QCOM_RPMPD=y CONFIG_QCOM_RPROC_COMMON=y CONFIG_QCOM_SCM=y # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set -# CONFIG_QCOM_SMD_RPM is not set +CONFIG_QCOM_SMD_RPM=y CONFIG_QCOM_SMEM=y CONFIG_QCOM_SMEM_STATE=y CONFIG_QCOM_SMP2P=y @@ -393,6 +395,7 @@ CONFIG_REGULATOR_CPR3=y # CONFIG_REGULATOR_CPR3_NPU is not set CONFIG_REGULATOR_CPR4_APSS=y # CONFIG_REGULATOR_QCOM_LABIBB is not set +CONFIG_REGULATOR_QCOM_SMD_RPM=y CONFIG_REGULATOR_QCOM_SPMI=y # CONFIG_REGULATOR_QCOM_USB_VBUS is not set # CONFIG_REGULATOR_VQMMC_IPQ4019 is not set diff --git a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-360v6.dts b/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-360v6.dts deleted file mode 100644 index d0d659bb4..000000000 --- a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-360v6.dts +++ /dev/null @@ -1,401 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) -/* - * IPQ6018 CP01 board device tree source - * - * Copyright (c) 2019, The Linux Foundation. All rights reserved. - */ - -/dts-v1/; - -#include "ipq6018.dtsi" -#include "ipq6018-upstreamable.dtsi" -#include "ipq6018-ess.dtsi" - -/ { - model = "Qihoo 360v6"; - compatible = "qihoo,v6", "qcom,ipq6018"; - - aliases { - serial0 = &blsp1_uart3; - }; - - chosen { - stdout-path = "serial0:115200n8"; - bootargs-append = " swiotlb=1"; - }; -}; - -&blsp1_uart3 { - pinctrl-0 = <&serial_3_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&tlmm { - i2c_1_pins: i2c-1-pins { - pins = "gpio42", "gpio43"; - function = "blsp2_i2c"; - drive-strength = <8>; - }; - - spi_0_pins: spi-0-pins { - pins = "gpio38", "gpio39", "gpio40", "gpio41"; - function = "blsp0_spi"; - drive-strength = <8>; - bias-pull-down; - }; -}; - -&qpic_bam { - status = "okay"; -}; - -&qpic_nand { - status = "okay"; - - nand@0 { - reg = <0>; - - nand-ecc-strength = <4>; - nand-ecc-step-size = <512>; - nand-bus-width = <8>; - }; -}; - -&qusb_phy_1 { - status = "ok"; -}; - -&usb2 { - status = "ok"; -}; - -&switch { - status = "okay"; - - switch_cpu_bmp = <0x01>; - switch_lan_bmp = <0x20>; - switch_wan_bmp = <0x20>; - switch_inner_bmp = <0xc0>; - switch_mac_mode = <0xff>; - switch_mac_mode1 = <0x0f>; - switch_mac_mode2 = <0xff>; - bm_tick_mode = <0x00>; - tm_tick_mode = <0x00>; - - port_scheduler_resource { - port@0 { - port_id = <0x00>; - ucast_queue = <0x00 0x8f>; - mcast_queue = <0x100 0x10f>; - l0sp = <0x00 0x23>; - l0cdrr = <0x00 0x2f>; - l0edrr = <0x00 0x2f>; - l1cdrr = <0x00 0x07>; - l1edrr = <0x00 0x07>; - }; - - port@1 { - port_id = <0x01>; - ucast_queue = <0x90 0x9f>; - mcast_queue = <0x110 0x113>; - l0sp = <0x24 0x27>; - l0cdrr = <0x30 0x3f>; - l0edrr = <0x30 0x3f>; - l1cdrr = <0x08 0x0b>; - l1edrr = <0x08 0x0b>; - }; - - port@2 { - port_id = <0x02>; - ucast_queue = <0xa0 0xaf>; - mcast_queue = <0x114 0x117>; - l0sp = <0x28 0x2b>; - l0cdrr = <0x40 0x4f>; - l0edrr = <0x40 0x4f>; - l1cdrr = <0x0c 0x0f>; - l1edrr = <0x0c 0x0f>; - }; - - port@3 { - port_id = <0x03>; - ucast_queue = <0xb0 0xbf>; - mcast_queue = <0x118 0x11b>; - l0sp = <0x2c 0x2f>; - l0cdrr = <0x50 0x5f>; - l0edrr = <0x50 0x5f>; - l1cdrr = <0x10 0x13>; - l1edrr = <0x10 0x13>; - }; - - port@4 { - port_id = <0x04>; - ucast_queue = <0xc0 0xcf>; - mcast_queue = <0x11c 0x11f>; - l0sp = <0x30 0x33>; - l0cdrr = <0x60 0x6f>; - l0edrr = <0x60 0x6f>; - l1cdrr = <0x14 0x17>; - l1edrr = <0x14 0x17>; - }; - - port@5 { - port_id = <0x05>; - ucast_queue = <0xd0 0xdf>; - mcast_queue = <0x120 0x123>; - l0sp = <0x34 0x37>; - l0cdrr = <0x70 0x7f>; - l0edrr = <0x70 0x7f>; - l1cdrr = <0x18 0x1b>; - l1edrr = <0x18 0x1b>; - }; - - port@6 { - port_id = <0x06>; - ucast_queue = <0xe0 0xef>; - mcast_queue = <0x124 0x127>; - l0sp = <0x38 0x3b>; - l0cdrr = <0x80 0x8f>; - l0edrr = <0x80 0x8f>; - l1cdrr = <0x1c 0x1f>; - l1edrr = <0x1c 0x1f>; - }; - - port@7 { - port_id = <0x07>; - ucast_queue = <0xf0 0xff>; - mcast_queue = <0x128 0x12b>; - l0sp = <0x3c 0x3f>; - l0cdrr = <0x90 0x9f>; - l0edrr = <0x90 0x9f>; - l1cdrr = <0x20 0x23>; - l1edrr = <0x20 0x23>; - }; - }; - - port_scheduler_config { - port@0 { - port_id = <0x00>; - l1scheduler { - group@0 { - sp = <0x00 0x01>; - cfg = <0x00 0x00 0x00 0x00>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0x00 0x04 0x08>; - mcast_queue = <0x100 0x104>; - cfg = <0x00 0x00 0x00 0x00 0x00>; - }; - - group@1 { - ucast_queue = <0x01 0x05 0x09>; - mcast_queue = <0x101 0x105>; - cfg = <0x00 0x01 0x01 0x01 0x01>; - }; - - group@2 { - ucast_queue = <0x02 0x06 0x0a>; - mcast_queue = <0x102 0x106>; - cfg = <0x00 0x02 0x02 0x02 0x02>; - }; - - group@3 { - ucast_queue = <0x03 0x07 0x0b>; - mcast_queue = <0x103 0x107>; - cfg = <0x00 0x03 0x03 0x03 0x03>; - }; - }; - }; - - port@1 { - port_id = <0x01>; - l1scheduler { - group@0 { - sp = <0x24>; - cfg = <0x00 0x08 0x00 0x08>; - }; - - group@1 { - sp = <0x25>; - cfg = <0x01 0x09 0x01 0x09>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0x90>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x110>; - mcast_loop_pri = <0x04>; - cfg = <0x24 0x00 0x30 0x00 0x30>; - }; - }; - }; - - port@2 { - port_id = <0x02>; - - l1scheduler { - group@0 { - sp = <0x28>; - cfg = <0x00 0x0c 0x00 0x0c>; - }; - - group@1 { - sp = <0x29>; - cfg = <0x01 0x0d 0x01 0x0d>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xa0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x114>; - mcast_loop_pri = <0x04>; - cfg = <0x28 0x00 0x40 0x00 0x40>; - }; - }; - }; - - port@3 { - port_id = <0x03>; - - l1scheduler { - group@0 { - sp = <0x2c>; - cfg = <0x00 0x10 0x00 0x10>; - }; - - group@1 { - sp = <0x2d>; - cfg = <0x01 0x11 0x01 0x11>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xb0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x118>; - mcast_loop_pri = <0x04>; - cfg = <0x2c 0x00 0x50 0x00 0x50>; - }; - }; - }; - - port@4 { - port_id = <0x04>; - - l1scheduler { - group@0 { - sp = <0x30>; - cfg = <0x00 0x14 0x00 0x14>; - }; - - group@1 { - sp = <0x31>; - cfg = <0x01 0x15 0x01 0x15>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xc0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x11c>; - mcast_loop_pri = <0x04>; - cfg = <0x30 0x00 0x60 0x00 0x60>; - }; - }; - }; - - port@5 { - port_id = <0x05>; - - l1scheduler { - group@0 { - sp = <0x34>; - cfg = <0x00 0x18 0x00 0x18>; - }; - - group@1 { - sp = <0x35>; - cfg = <0x01 0x19 0x01 0x19>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xd0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x120>; - mcast_loop_pri = <0x04>; - cfg = <0x34 0x00 0x70 0x00 0x70>; - }; - }; - }; - - port@6 { - port_id = <0x06>; - - l1scheduler { - group@0 { - sp = <0x38>; - cfg = <0x00 0x1c 0x00 0x1c>; - }; - - group@1 { - sp = <0x39>; - cfg = <0x01 0x1d 0x01 0x1d>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xe0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x124>; - mcast_loop_pri = <0x04>; - cfg = <0x38 0x00 0x80 0x00 0x80>; - }; - }; - }; - - port@7 { - port_id = <0x07>; - - l1scheduler { - group@0 { - sp = <0x3c>; - cfg = <0x00 0x20 0x00 0x20>; - }; - - group@1 { - sp = <0x3d>; - cfg = <0x01 0x21 0x01 0x21>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xf0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x128>; - cfg = <0x3c 0x00 0x90 0x00 0x90>; - }; - }; - }; - }; - - qcom,port_phyinfo { - port@4 { - port_id = <0x05>; - phy_address = <0x04>; - port_mac_sel = "QGMAC_PORT"; - }; - }; -}; diff --git a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-eap610-outdoor-switch.dtsi b/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-eap610-outdoor-switch.dtsi deleted file mode 100644 index 90d3b335a..000000000 --- a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-eap610-outdoor-switch.dtsi +++ /dev/null @@ -1,331 +0,0 @@ -#include "ipq6018-ess.dtsi" - -&switch { - status = "okay"; - - switch_cpu_bmp = <0x01>; - switch_lan_bmp = <0x20>; - switch_wan_bmp = <0x20>; - switch_inner_bmp = <0xc0>; - switch_mac_mode = <0xff>; - switch_mac_mode1 = <0x0f>; - switch_mac_mode2 = <0xff>; - bm_tick_mode = <0x00>; - tm_tick_mode = <0x00>; - - port_scheduler_resource { - port@0 { - port_id = <0x00>; - ucast_queue = <0x00 0x8f>; - mcast_queue = <0x100 0x10f>; - l0sp = <0x00 0x23>; - l0cdrr = <0x00 0x2f>; - l0edrr = <0x00 0x2f>; - l1cdrr = <0x00 0x07>; - l1edrr = <0x00 0x07>; - }; - - port@1 { - port_id = <0x01>; - ucast_queue = <0x90 0x9f>; - mcast_queue = <0x110 0x113>; - l0sp = <0x24 0x27>; - l0cdrr = <0x30 0x3f>; - l0edrr = <0x30 0x3f>; - l1cdrr = <0x08 0x0b>; - l1edrr = <0x08 0x0b>; - }; - - port@2 { - port_id = <0x02>; - ucast_queue = <0xa0 0xaf>; - mcast_queue = <0x114 0x117>; - l0sp = <0x28 0x2b>; - l0cdrr = <0x40 0x4f>; - l0edrr = <0x40 0x4f>; - l1cdrr = <0x0c 0x0f>; - l1edrr = <0x0c 0x0f>; - }; - - port@3 { - port_id = <0x03>; - ucast_queue = <0xb0 0xbf>; - mcast_queue = <0x118 0x11b>; - l0sp = <0x2c 0x2f>; - l0cdrr = <0x50 0x5f>; - l0edrr = <0x50 0x5f>; - l1cdrr = <0x10 0x13>; - l1edrr = <0x10 0x13>; - }; - - port@4 { - port_id = <0x04>; - ucast_queue = <0xc0 0xcf>; - mcast_queue = <0x11c 0x11f>; - l0sp = <0x30 0x33>; - l0cdrr = <0x60 0x6f>; - l0edrr = <0x60 0x6f>; - l1cdrr = <0x14 0x17>; - l1edrr = <0x14 0x17>; - }; - - port@5 { - port_id = <0x05>; - ucast_queue = <0xd0 0xdf>; - mcast_queue = <0x120 0x123>; - l0sp = <0x34 0x37>; - l0cdrr = <0x70 0x7f>; - l0edrr = <0x70 0x7f>; - l1cdrr = <0x18 0x1b>; - l1edrr = <0x18 0x1b>; - }; - - port@6 { - port_id = <0x06>; - ucast_queue = <0xe0 0xef>; - mcast_queue = <0x124 0x127>; - l0sp = <0x38 0x3b>; - l0cdrr = <0x80 0x8f>; - l0edrr = <0x80 0x8f>; - l1cdrr = <0x1c 0x1f>; - l1edrr = <0x1c 0x1f>; - }; - - port@7 { - port_id = <0x07>; - ucast_queue = <0xf0 0xff>; - mcast_queue = <0x128 0x12b>; - l0sp = <0x3c 0x3f>; - l0cdrr = <0x90 0x9f>; - l0edrr = <0x90 0x9f>; - l1cdrr = <0x20 0x23>; - l1edrr = <0x20 0x23>; - }; - }; - - port_scheduler_config { - port@0 { - port_id = <0x00>; - l1scheduler { - group@0 { - sp = <0x00 0x01>; - cfg = <0x00 0x00 0x00 0x00>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0x00 0x04 0x08>; - mcast_queue = <0x100 0x104>; - cfg = <0x00 0x00 0x00 0x00 0x00>; - }; - - group@1 { - ucast_queue = <0x01 0x05 0x09>; - mcast_queue = <0x101 0x105>; - cfg = <0x00 0x01 0x01 0x01 0x01>; - }; - - group@2 { - ucast_queue = <0x02 0x06 0x0a>; - mcast_queue = <0x102 0x106>; - cfg = <0x00 0x02 0x02 0x02 0x02>; - }; - - group@3 { - ucast_queue = <0x03 0x07 0x0b>; - mcast_queue = <0x103 0x107>; - cfg = <0x00 0x03 0x03 0x03 0x03>; - }; - }; - }; - - port@1 { - port_id = <0x01>; - l1scheduler { - group@0 { - sp = <0x24>; - cfg = <0x00 0x08 0x00 0x08>; - }; - - group@1 { - sp = <0x25>; - cfg = <0x01 0x09 0x01 0x09>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0x90>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x110>; - mcast_loop_pri = <0x04>; - cfg = <0x24 0x00 0x30 0x00 0x30>; - }; - }; - }; - - port@2 { - port_id = <0x02>; - - l1scheduler { - group@0 { - sp = <0x28>; - cfg = <0x00 0x0c 0x00 0x0c>; - }; - - group@1 { - sp = <0x29>; - cfg = <0x01 0x0d 0x01 0x0d>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xa0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x114>; - mcast_loop_pri = <0x04>; - cfg = <0x28 0x00 0x40 0x00 0x40>; - }; - }; - }; - - port@3 { - port_id = <0x03>; - - l1scheduler { - group@0 { - sp = <0x2c>; - cfg = <0x00 0x10 0x00 0x10>; - }; - - group@1 { - sp = <0x2d>; - cfg = <0x01 0x11 0x01 0x11>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xb0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x118>; - mcast_loop_pri = <0x04>; - cfg = <0x2c 0x00 0x50 0x00 0x50>; - }; - }; - }; - - port@4 { - port_id = <0x04>; - - l1scheduler { - group@0 { - sp = <0x30>; - cfg = <0x00 0x14 0x00 0x14>; - }; - - group@1 { - sp = <0x31>; - cfg = <0x01 0x15 0x01 0x15>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xc0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x11c>; - mcast_loop_pri = <0x04>; - cfg = <0x30 0x00 0x60 0x00 0x60>; - }; - }; - }; - - port@5 { - port_id = <0x05>; - - l1scheduler { - group@0 { - sp = <0x34>; - cfg = <0x00 0x18 0x00 0x18>; - }; - - group@1 { - sp = <0x35>; - cfg = <0x01 0x19 0x01 0x19>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xd0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x120>; - mcast_loop_pri = <0x04>; - cfg = <0x34 0x00 0x70 0x00 0x70>; - }; - }; - }; - - port@6 { - port_id = <0x06>; - - l1scheduler { - group@0 { - sp = <0x38>; - cfg = <0x00 0x1c 0x00 0x1c>; - }; - - group@1 { - sp = <0x39>; - cfg = <0x01 0x1d 0x01 0x1d>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xe0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x124>; - mcast_loop_pri = <0x04>; - cfg = <0x38 0x00 0x80 0x00 0x80>; - }; - }; - }; - - port@7 { - port_id = <0x07>; - - l1scheduler { - group@0 { - sp = <0x3c>; - cfg = <0x00 0x20 0x00 0x20>; - }; - - group@1 { - sp = <0x3d>; - cfg = <0x01 0x21 0x01 0x21>; - }; - }; - - l0scheduler { - group@0 { - ucast_queue = <0xf0>; - ucast_loop_pri = <0x10>; - mcast_queue = <0x128>; - cfg = <0x3c 0x00 0x90 0x00 0x90>; - }; - }; - }; - }; - - qcom,port_phyinfo { - port@4 { - port_id = <0x05>; - phy_address = <0x04>; - port_mac_sel = "QGMAC_PORT"; - }; - }; -}; diff --git a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-eap610-outdoor.dts b/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-eap610-outdoor.dts index f651944b2..26f5deb62 100644 --- a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-eap610-outdoor.dts +++ b/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-eap610-outdoor.dts @@ -4,7 +4,7 @@ #include "ipq6018.dtsi" #include "ipq6018-upstreamable.dtsi" -#include "ipq6018-eap610-outdoor-switch.dtsi" +#include "ipq6018-ess.dtsi" #include #include @@ -99,6 +99,20 @@ &switch { status = "okay"; + + switch_lan_bmp = <0x20>; + switch_wan_bmp = <0x20>; + switch_mac_mode = <0xff>; + switch_mac_mode1 = <0x0f>; + switch_mac_mode2 = <0xff>; + + qcom,port_phyinfo { + port@4 { + port_id = <0x05>; + phy_address = <0x04>; + port_mac_sel = "QGMAC_PORT"; + }; + }; }; &qpic_bam { diff --git a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi b/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi index 51d4bc2bc..a7a54a886 100644 --- a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi +++ b/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-ess.dtsi @@ -8,54 +8,59 @@ mdio-bus = <&mdio>; status = "disabled"; - clocks = <&gcc 0xb7>, - <&gcc 0xb8>, - <&gcc 0x8d>, - <&gcc 0x98>, - <&gcc 0x99>, - <&gcc 0x9c>, - <&gcc 0x7b>, - <&gcc 0x7c>, - <&gcc 0x7d>, - <&gcc 0x7e>, - <&gcc 0x7f>, - <&gcc 0x70>, - <&gcc 0x6f>, - <&gcc 0x77>, - <&gcc 0x76>, - <&gcc 0x63>, - <&gcc 0x62>, - <&gcc 0x71>, - <&gcc 0x5b>, - <&gcc 0x64>, - <&gcc 0xae>, - <&gcc 0x60>, - <&gcc 0x72>, - <&gcc 0x65>, - <&gcc 0x66>, - <&gcc 0x67>, - <&gcc 0x68>, - <&gcc 0x69>, - <&gcc 0x6a>, - <&gcc 0x6b>, - <&gcc 0x6c>, - <&gcc 0x6d>, - <&gcc 0x6e>, - <&gcc 0x8e>, - <&gcc 0x8f>, - <&gcc 0x90>, - <&gcc 0x91>, - <&gcc 0x92>, - <&gcc 0x93>, - <&gcc 0x94>, - <&gcc 0x95>, - <&gcc 0x96>, - <&gcc 0x97>, - <&gcc 0x9a>, - <&gcc 0x9b>, - <&gcc 0x0c>, - <&gcc 0x0d>, - <&gcc 0xf2>; + switch_cpu_bmp = <0x1>; + switch_inner_bmp = <0xc0>; + bm_tick_mode = <0>; + tm_tick_mode = <0>; + + clocks = <&gcc GCC_CMN_12GPLL_AHB_CLK>, + <&gcc GCC_CMN_12GPLL_SYS_CLK>, + <&gcc GCC_UNIPHY0_AHB_CLK>, + <&gcc GCC_UNIPHY0_SYS_CLK>, + <&gcc GCC_UNIPHY1_AHB_CLK>, + <&gcc GCC_UNIPHY1_SYS_CLK>, + <&gcc GCC_PORT1_MAC_CLK>, + <&gcc GCC_PORT2_MAC_CLK>, + <&gcc GCC_PORT3_MAC_CLK>, + <&gcc GCC_PORT4_MAC_CLK>, + <&gcc GCC_PORT5_MAC_CLK>, + <&gcc GCC_NSS_PPE_CLK>, + <&gcc GCC_NSS_PPE_CFG_CLK>, + <&gcc GCC_NSSNOC_PPE_CLK>, + <&gcc GCC_NSSNOC_PPE_CFG_CLK>, + <&gcc GCC_NSS_EDMA_CLK>, + <&gcc GCC_NSS_EDMA_CFG_CLK>, + <&gcc GCC_NSS_PPE_IPE_CLK>, + <&gcc GCC_MDIO_AHB_CLK>, + <&gcc GCC_NSS_NOC_CLK>, + <&gcc GCC_NSSNOC_SNOC_CLK>, + <&gcc GCC_NSS_CRYPTO_CLK>, + <&gcc GCC_NSS_PTP_REF_CLK>, + <&gcc GCC_NSS_PORT1_RX_CLK>, + <&gcc GCC_NSS_PORT1_TX_CLK>, + <&gcc GCC_NSS_PORT2_RX_CLK>, + <&gcc GCC_NSS_PORT2_TX_CLK>, + <&gcc GCC_NSS_PORT3_RX_CLK>, + <&gcc GCC_NSS_PORT3_TX_CLK>, + <&gcc GCC_NSS_PORT4_RX_CLK>, + <&gcc GCC_NSS_PORT4_TX_CLK>, + <&gcc GCC_NSS_PORT5_RX_CLK>, + <&gcc GCC_NSS_PORT5_TX_CLK>, + <&gcc GCC_UNIPHY0_PORT1_RX_CLK>, + <&gcc GCC_UNIPHY0_PORT1_TX_CLK>, + <&gcc GCC_UNIPHY0_PORT2_RX_CLK>, + <&gcc GCC_UNIPHY0_PORT2_TX_CLK>, + <&gcc GCC_UNIPHY0_PORT3_RX_CLK>, + <&gcc GCC_UNIPHY0_PORT3_TX_CLK>, + <&gcc GCC_UNIPHY0_PORT4_RX_CLK>, + <&gcc GCC_UNIPHY0_PORT4_TX_CLK>, + <&gcc GCC_UNIPHY0_PORT5_RX_CLK>, + <&gcc GCC_UNIPHY0_PORT5_TX_CLK>, + <&gcc GCC_UNIPHY1_PORT5_RX_CLK>, + <&gcc GCC_UNIPHY1_PORT5_TX_CLK>, + <&gcc NSS_PORT5_RX_CLK_SRC>, + <&gcc NSS_PORT5_TX_CLK_SRC>, + <&gcc GCC_SNOC_NSSNOC_CLK>; clock-names = "cmn_ahb_clk", "cmn_sys_clk", "uniphy0_ahb_clk", "uniphy0_sys_clk", "uniphy1_ahb_clk", "uniphy1_sys_clk", "port1_mac_clk", @@ -133,3 +138,275 @@ status = "disabled"; }; }; + +&switch { + port_scheduler_resource { + port@0 { + port_id = <0>; + ucast_queue = <0 143>; + mcast_queue = <256 271>; + l0sp = <0 35>; + l0cdrr = <0 47>; + l0edrr = <0 47>; + l1cdrr = <0 7>; + l1edrr = <0 7>; + }; + port@1 { + port_id = <1>; + ucast_queue = <144 159>; + mcast_queue = <272 275>; + l0sp = <36 39>; + l0cdrr = <48 63>; + l0edrr = <48 63>; + l1cdrr = <8 11>; + l1edrr = <8 11>; + }; + port@2 { + port_id = <2>; + ucast_queue = <160 175>; + mcast_queue = <276 279>; + l0sp = <40 43>; + l0cdrr = <64 79>; + l0edrr = <64 79>; + l1cdrr = <12 15>; + l1edrr = <12 15>; + }; + port@3 { + port_id = <3>; + ucast_queue = <176 191>; + mcast_queue = <280 283>; + l0sp = <44 47>; + l0cdrr = <80 95>; + l0edrr = <80 95>; + l1cdrr = <16 19>; + l1edrr = <16 19>; + }; + port@4 { + port_id = <4>; + ucast_queue = <192 207>; + mcast_queue = <284 287>; + l0sp = <48 51>; + l0cdrr = <96 111>; + l0edrr = <96 111>; + l1cdrr = <20 23>; + l1edrr = <20 23>; + }; + port@5 { + port_id = <5>; + ucast_queue = <208 223>; + mcast_queue = <288 291>; + l0sp = <52 55>; + l0cdrr = <112 127>; + l0edrr = <112 127>; + l1cdrr = <24 27>; + l1edrr = <24 27>; + }; + port@6 { + port_id = <6>; + ucast_queue = <224 239>; + mcast_queue = <292 295>; + l0sp = <56 59>; + l0cdrr = <128 143>; + l0edrr = <128 143>; + l1cdrr = <28 31>; + l1edrr = <28 31>; + }; + port@7 { + port_id = <7>; + ucast_queue = <240 255>; + mcast_queue = <296 299>; + l0sp = <60 63>; + l0cdrr = <144 159>; + l0edrr = <144 159>; + l1cdrr = <32 35>; + l1edrr = <32 35>; + }; + }; + + port_scheduler_config { + port@0 { + port_id = <0>; + l1scheduler { + group@0 { + sp = <0 1>; + cfg = <0 0 0 0>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <0 4 8>; + mcast_queue = <256 260>; + cfg = <0 0 0 0 0>; + }; + group@1 { + ucast_queue = <1 5 9>; + mcast_queue = <257 261>; + cfg = <0 1 1 1 1>; + }; + group@2 { + ucast_queue = <2 6 10>; + mcast_queue = <258 262>; + cfg = <0 2 2 2 2>; + }; + group@3 { + ucast_queue = <3 7 11>; + mcast_queue = <259 263>; + cfg = <0 3 3 3 3>; + }; + }; + }; + port@1 { + port_id = <1>; + l1scheduler { + group@0 { + sp = <36>; + cfg = <0 8 0 8>; + }; + group@1 { + sp = <37>; + cfg = <1 9 1 9>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <144>; + ucast_loop_pri = <16>; + mcast_queue = <272>; + mcast_loop_pri = <4>; + cfg = <36 0 48 0 48>; + }; + }; + }; + port@2 { + port_id = <2>; + l1scheduler { + group@0 { + sp = <40>; + cfg = <0 12 0 12>; + }; + group@1 { + sp = <41>; + cfg = <1 13 1 13>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <160>; + ucast_loop_pri = <16>; + mcast_queue = <276>; + mcast_loop_pri = <4>; + cfg = <40 0 64 0 64>; + }; + }; + }; + port@3 { + port_id = <3>; + l1scheduler { + group@0 { + sp = <44>; + cfg = <0 16 0 16>; + }; + group@1 { + sp = <45>; + cfg = <1 17 1 17>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <176>; + ucast_loop_pri = <16>; + mcast_queue = <280>; + mcast_loop_pri = <4>; + cfg = <44 0 80 0 80>; + }; + }; + }; + port@4 { + port_id = <4>; + l1scheduler { + group@0 { + sp = <48>; + cfg = <0 20 0 20>; + }; + group@1 { + sp = <49>; + cfg = <1 21 1 21>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <192>; + ucast_loop_pri = <16>; + mcast_queue = <284>; + mcast_loop_pri = <4>; + cfg = <48 0 96 0 96>; + }; + }; + }; + port@5 { + port_id = <5>; + l1scheduler { + group@0 { + sp = <52>; + cfg = <0 24 0 24>; + }; + group@1 { + sp = <53>; + cfg = <1 25 1 25>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <208>; + ucast_loop_pri = <16>; + mcast_queue = <288>; + mcast_loop_pri = <4>; + cfg = <52 0 112 0 112>; + }; + }; + }; + port@6 { + port_id = <6>; + l1scheduler { + group@0 { + sp = <56>; + cfg = <0 28 0 28>; + }; + group@1 { + sp = <57>; + cfg = <1 29 1 29>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <224>; + ucast_loop_pri = <16>; + mcast_queue = <292>; + mcast_loop_pri = <4>; + cfg = <56 0 128 0 128>; + }; + }; + }; + port@7 { + port_id = <7>; + l1scheduler { + group@0 { + sp = <60>; + cfg = <0 32 0 32>; + }; + group@1 { + sp = <61>; + cfg = <1 33 1 33>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <240>; + ucast_loop_pri = <16>; + mcast_queue = <296>; + cfg = <60 0 144 0 144>; + }; + }; + }; + }; +}; diff --git a/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-mr7350.dts b/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-mr7350.dts new file mode 100644 index 000000000..25d8d1f36 --- /dev/null +++ b/target/linux/ipq60xx/files/arch/arm64/boot/dts/qcom/ipq6018-mr7350.dts @@ -0,0 +1,237 @@ +// SPDX-License-Identifier: (GPL-2.0+) + +/dts-v1/; + +#include "ipq6018.dtsi" +#include "ipq6018-upstreamable.dtsi" +#include "ipq6018-ess.dtsi" + +#include +#include + +/ { + model = "Linksys MR7350"; + compatible = "linksys,mr7350", "qcom,ipq6018"; + + aliases { + serial0 = &blsp1_uart3; +// led-boot = &led_power; +// led-failsafe = &led_power; +// led-running = &led_power; +// led-upgrade = &led_power; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&tlmm 57 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "reset"; + gpios = <&tlmm 56 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&blsp1_uart3 { + pinctrl-0 = <&serial_3_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&tlmm { + i2c_1_pins: i2c-1-pins { + pins = "gpio42", "gpio43"; + function = "blsp2_i2c"; + drive-strength = <8>; + }; + + mdio_pins: mdio-pins { + mdc { + pins = "gpio64"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio { + pins = "gpio65"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; +}; + +&soc { + dp1: dp@1 { + compatible = "qcom,nss-dp"; + reg = <0x0 0x3a001000 0x0 0x200>; + qcom,mactype = <0>; + qcom,id = <1>; + + phy-handle = <&phy_0>; + phy-mode = "sgmii"; + }; + + dp2 { + compatible = "qcom,nss-dp"; + reg = <0x0 0x3a001200 0x0 0x200>; + qcom,mactype = <0>; + qcom,id = <2>; + + phy-handle = <&phy_1>; + phy-mode = "sgmii"; + }; + + dp3 { + compatible = "qcom,nss-dp"; + reg = <0x0 0x3a001400 0x0 0x200>; + qcom,mactype = <0>; + qcom,id = <3>; + + phy-handle = <&phy_2>; + phy-mode = "sgmii"; + }; + + dp4 { + compatible = "qcom,nss-dp"; + reg = <0x0 0x3a001600 0x0 0x200>; + qcom,mactype = <0>; + qcom,id = <4>; + + phy-handle = <&phy_3>; + phy-mode = "sgmii"; + }; + + dp5 { + compatible = "qcom,nss-dp"; + reg = <0x0 0x3a001800 0x0 0x200>; + qcom,mactype = <0>; + qcom,id = <5>; + + phy-handle = <&phy_4>; + phy-mode = "sgmii"; + }; +}; + +&edma { + status = "okay"; +}; + +&mdio { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; + + phy_0: ethernet-phy@0 { + reg = <0>; +// reset-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>; + }; + + phy_1: ethernet-phy@1 { + reg = <1>; + }; + + phy_2: ethernet-phy@2 { + reg = <2>; + }; + + phy_3: ethernet-phy@3 { + reg = <3>; + }; + + phy_4: ethernet-phy@4 { + reg = <4>; + }; + +}; + +&switch { + status = "okay"; + + switch_lan_bmp = <0x1e>; + switch_wan_bmp = <0x20>; + switch_mac_mode = <0x00>; + switch_mac_mode1 = <0xff>; + switch_mac_mode2 = <0xff>; + + qcom,port_phyinfo { + port@0 { + port_id = <0x01>; + phy_address = <0x00>; + }; + port@1 { + port_id = <0x02>; + phy_address = <0x01>; + }; + port@2 { + port_id = <0x03>; + phy_address = <0x02>; + }; + port@3 { + port_id = <0x04>; + phy_address = <0x03>; + }; + port@4 { + port_id = <0x05>; + phy_address = <0x04>; + }; + }; +}; + +&qpic_bam { + status = "okay"; +}; + +&qpic_nand { + status = "okay"; + + nand@0 { + reg = <0>; + + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + }; +}; + +&wifi { + status = "okay"; +}; + +&i2c_1 { + pinctrl-0 = <&i2c_1_pins>; + pinctrl-names = "default"; + status = "okay"; + + pca9633: pca9633 { + compatible = "nxp,pca9633"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x62>; + + red@0 { + label = "red"; + reg = <0>; + }; + green@1 { + label = "green"; + reg = <1>; + }; + blue@2 { + label = "blue"; + reg = <2>; + }; + }; +}; diff --git a/target/linux/ipq60xx/image/generic.mk b/target/linux/ipq60xx/image/generic.mk index c9d40140d..b2ad5f2a8 100644 --- a/target/linux/ipq60xx/image/generic.mk +++ b/target/linux/ipq60xx/image/generic.mk @@ -23,21 +23,31 @@ define Device/UbiFit IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata endef -define Device/qihoo_360v6 +define Device/mr7350 + $(call Device/FitImage) + DEVICE_VENDOR := Linksys + DEVICE_MODEL := MR7350 + SOC := ipq6018 + DEVICE_PACKAGES := kmod-leds-pca963x +endef +TARGET_DEVICES += mr7350 + +define Device/cp01-c1 $(call Device/FitImage) - $(call Device/UbiFit) - BLOCKSIZE := 128k - PAGESIZE := 2048 DEVICE_VENDOR := Qihoo DEVICE_MODEL := 360v6 SOC := ipq6018 endef -TARGET_DEVICES += qihoo_360v6 +TARGET_DEVICES += cp01-c1 define Device/eap610-outdoor $(call Device/FitImage) + $(call Device/UbiFit) DEVICE_VENDOR := TP-Link DEVICE_MODEL := EAP610-Outdoor + BLOCKSIZE := 128k + PAGESIZE := 2048 SOC := ipq6018 + IMAGE/nand-factory.ubi := append-ubi | qsdk-ipq-factory-nand endef TARGET_DEVICES += eap610-outdoor diff --git a/target/linux/ipq60xx/patches-5.15/0001-v5.16-arm64-dts-qcom-ipq8074-add-SPMI-bus.patch b/target/linux/ipq60xx/patches-5.15/0001-v5.16-arm64-dts-qcom-ipq8074-add-SPMI-bus.patch index 9ff451e01..1da0d2916 100644 --- a/target/linux/ipq60xx/patches-5.15/0001-v5.16-arm64-dts-qcom-ipq8074-add-SPMI-bus.patch +++ b/target/linux/ipq60xx/patches-5.15/0001-v5.16-arm64-dts-qcom-ipq8074-add-SPMI-bus.patch @@ -13,9 +13,11 @@ Link: https://lore.kernel.org/r/20210905165816.655275-1-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 6b9ac0550490..c37de90616fa 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -293,6 +293,25 @@ +@@ -293,6 +293,25 @@ gcc: gcc@1800000 { #reset-cells = <0x1>; }; @@ -41,3 +43,6 @@ Link: https://lore.kernel.org/r/20210905165816.655275-1-robimarko@gmail.com sdhc_1: sdhci@7824900 { compatible = "qcom,sdhci-msm-v4"; reg = <0x7824900 0x500>, <0x7824000 0x800>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0002-v5.16-arm64-dts-qcom-Update-BAM-DMA-node-name-per-DT-schem.patch b/target/linux/ipq60xx/patches-5.15/0002-v5.16-arm64-dts-qcom-Update-BAM-DMA-node-name-per-DT-schem.patch index 1095739d9..8b48317d3 100644 --- a/target/linux/ipq60xx/patches-5.15/0002-v5.16-arm64-dts-qcom-Update-BAM-DMA-node-name-per-DT-schem.patch +++ b/target/linux/ipq60xx/patches-5.15/0002-v5.16-arm64-dts-qcom-Update-BAM-DMA-node-name-per-DT-schem.patch @@ -14,9 +14,11 @@ Link: https://lore.kernel.org/r/20210831052325.21229-1-shawn.guo@linaro.org arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index c37de90616fa..5acbacecbf4f 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -212,7 +212,7 @@ +@@ -212,7 +212,7 @@ prng: rng@e3000 { status = "disabled"; }; @@ -25,3 +27,6 @@ Link: https://lore.kernel.org/r/20210831052325.21229-1-shawn.guo@linaro.org compatible = "qcom,bam-v1.7.0"; reg = <0x00704000 0x20000>; interrupts = ; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0003-v5.16-arm64-dts-qcom-ipq8074-Add-QUP5-I2C-node.patch b/target/linux/ipq60xx/patches-5.15/0003-v5.16-arm64-dts-qcom-ipq8074-Add-QUP5-I2C-node.patch index 0bd4a9109..27e3824d6 100644 --- a/target/linux/ipq60xx/patches-5.15/0003-v5.16-arm64-dts-qcom-ipq8074-Add-QUP5-I2C-node.patch +++ b/target/linux/ipq60xx/patches-5.15/0003-v5.16-arm64-dts-qcom-ipq8074-Add-QUP5-I2C-node.patch @@ -14,9 +14,11 @@ Link: https://lore.kernel.org/r/20211001145421.18302-1-amadeus@jmu.edu.cn arch/arm64/boot/dts/qcom/ipq8074.dtsi | 15 +++++++++++++++ 1 file changed, 15 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 5acbacecbf4f..9e700963a1e3 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -430,6 +430,21 @@ +@@ -430,6 +430,21 @@ blsp1_i2c3: i2c@78b7000 { status = "disabled"; }; @@ -38,3 +40,6 @@ Link: https://lore.kernel.org/r/20211001145421.18302-1-amadeus@jmu.edu.cn blsp1_i2c6: i2c@78ba000 { compatible = "qcom,i2c-qup-v2.2.1"; #address-cells = <1>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0004-v5.16-arm64-dts-qcom-msm8996-Move-clock-cells-to-QMP-PHY-c.patch b/target/linux/ipq60xx/patches-5.15/0004-v5.16-arm64-dts-qcom-msm8996-Move-clock-cells-to-QMP-PHY-c.patch index a278a3e4a..b3aa15bb4 100644 --- a/target/linux/ipq60xx/patches-5.15/0004-v5.16-arm64-dts-qcom-msm8996-Move-clock-cells-to-QMP-PHY-c.patch +++ b/target/linux/ipq60xx/patches-5.15/0004-v5.16-arm64-dts-qcom-msm8996-Move-clock-cells-to-QMP-PHY-c.patch @@ -17,9 +17,11 @@ Link: https://lore.kernel.org/r/20210929034253.24570-4-shawn.guo@linaro.org arch/arm64/boot/dts/qcom/ipq8074.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 9e700963a1e3..69ce2dd644ab 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -91,7 +91,6 @@ +@@ -91,7 +91,6 @@ soc: soc { ssphy_1: phy@58000 { compatible = "qcom,ipq8074-qmp-usb3-phy"; reg = <0x00058000 0x1c4>; @@ -27,7 +29,7 @@ Link: https://lore.kernel.org/r/20210929034253.24570-4-shawn.guo@linaro.org #address-cells = <1>; #size-cells = <1>; ranges; -@@ -112,6 +111,7 @@ +@@ -112,6 +111,7 @@ usb1_ssphy: lane@58200 { <0x00058800 0x1f8>, /* PCS */ <0x00058600 0x044>; /* PCS misc*/ #phy-cells = <0>; @@ -35,7 +37,7 @@ Link: https://lore.kernel.org/r/20210929034253.24570-4-shawn.guo@linaro.org clocks = <&gcc GCC_USB1_PIPE_CLK>; clock-names = "pipe0"; clock-output-names = "gcc_usb1_pipe_clk_src"; -@@ -134,7 +134,6 @@ +@@ -134,7 +134,6 @@ qusb_phy_1: phy@59000 { ssphy_0: phy@78000 { compatible = "qcom,ipq8074-qmp-usb3-phy"; reg = <0x00078000 0x1c4>; @@ -43,7 +45,7 @@ Link: https://lore.kernel.org/r/20210929034253.24570-4-shawn.guo@linaro.org #address-cells = <1>; #size-cells = <1>; ranges; -@@ -155,6 +154,7 @@ +@@ -155,6 +154,7 @@ usb0_ssphy: lane@78200 { <0x00078800 0x1f8>, /* PCS */ <0x00078600 0x044>; /* PCS misc*/ #phy-cells = <0>; @@ -51,3 +53,6 @@ Link: https://lore.kernel.org/r/20210929034253.24570-4-shawn.guo@linaro.org clocks = <&gcc GCC_USB0_PIPE_CLK>; clock-names = "pipe0"; clock-output-names = "gcc_usb0_pipe_clk_src"; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0005-v5.16-arm64-dts-qcom-Correct-QMP-PHY-child-node-name.patch b/target/linux/ipq60xx/patches-5.15/0005-v5.16-arm64-dts-qcom-Correct-QMP-PHY-child-node-name.patch index 3e76abe96..1cc27a763 100644 --- a/target/linux/ipq60xx/patches-5.15/0005-v5.16-arm64-dts-qcom-Correct-QMP-PHY-child-node-name.patch +++ b/target/linux/ipq60xx/patches-5.15/0005-v5.16-arm64-dts-qcom-Correct-QMP-PHY-child-node-name.patch @@ -23,9 +23,11 @@ Link: https://lore.kernel.org/r/20210929034253.24570-5-shawn.guo@linaro.org arch/arm64/boot/dts/qcom/ipq8074.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 69ce2dd644ab..56c1b4cfc6ba 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -105,7 +105,7 @@ +@@ -105,7 +105,7 @@ ssphy_1: phy@58000 { reset-names = "phy","common"; status = "disabled"; @@ -34,7 +36,7 @@ Link: https://lore.kernel.org/r/20210929034253.24570-5-shawn.guo@linaro.org reg = <0x00058200 0x130>, /* Tx */ <0x00058400 0x200>, /* Rx */ <0x00058800 0x1f8>, /* PCS */ -@@ -148,7 +148,7 @@ +@@ -148,7 +148,7 @@ ssphy_0: phy@78000 { reset-names = "phy","common"; status = "disabled"; @@ -43,3 +45,6 @@ Link: https://lore.kernel.org/r/20210929034253.24570-5-shawn.guo@linaro.org reg = <0x00078200 0x130>, /* Tx */ <0x00078400 0x200>, /* Rx */ <0x00078800 0x1f8>, /* PCS */ +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0006-v5.16-arm64-dts-qcom-Fix-IPQ8074-PCIe-PHY-nodes.patch b/target/linux/ipq60xx/patches-5.15/0006-v5.16-arm64-dts-qcom-Fix-IPQ8074-PCIe-PHY-nodes.patch index 6aff21f28..bbad2303a 100644 --- a/target/linux/ipq60xx/patches-5.15/0006-v5.16-arm64-dts-qcom-Fix-IPQ8074-PCIe-PHY-nodes.patch +++ b/target/linux/ipq60xx/patches-5.15/0006-v5.16-arm64-dts-qcom-Fix-IPQ8074-PCIe-PHY-nodes.patch @@ -19,9 +19,11 @@ Link: https://lore.kernel.org/r/20210929034253.24570-9-shawn.guo@linaro.org arch/arm64/boot/dts/qcom/ipq8074.dtsi | 46 +++++++++++++++++++++------ 1 file changed, 36 insertions(+), 10 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 56c1b4cfc6ba..4512fcac0f9a 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -174,34 +174,60 @@ +@@ -174,34 +174,60 @@ qusb_phy_0: phy@79000 { status = "disabled"; }; @@ -92,3 +94,6 @@ Link: https://lore.kernel.org/r/20210929034253.24570-9-shawn.guo@linaro.org }; prng: rng@e3000 { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0007-v5.17-arm64-dts-qcom-ipq8074-add-MDIO-bus.patch b/target/linux/ipq60xx/patches-5.15/0007-v5.17-arm64-dts-qcom-ipq8074-add-MDIO-bus.patch index 26f27ff79..00f9640b2 100644 --- a/target/linux/ipq60xx/patches-5.15/0007-v5.17-arm64-dts-qcom-ipq8074-add-MDIO-bus.patch +++ b/target/linux/ipq60xx/patches-5.15/0007-v5.17-arm64-dts-qcom-ipq8074-add-MDIO-bus.patch @@ -13,9 +13,11 @@ Link: https://lore.kernel.org/r/20211007115846.26255-1-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 4512fcac0f9a..6ee54f89f973 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -230,6 +230,18 @@ +@@ -230,6 +230,18 @@ pcie_phy1: phy@8e200 { }; }; @@ -34,3 +36,6 @@ Link: https://lore.kernel.org/r/20211007115846.26255-1-robimarko@gmail.com prng: rng@e3000 { compatible = "qcom,prng-ee"; reg = <0x000e3000 0x1000>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0008-v5.16-soc-qcom-smem-Support-reserved-memory-description.patch b/target/linux/ipq60xx/patches-5.15/0008-v5.16-soc-qcom-smem-Support-reserved-memory-description.patch index c9e354341..b71b66fde 100644 --- a/target/linux/ipq60xx/patches-5.15/0008-v5.16-soc-qcom-smem-Support-reserved-memory-description.patch +++ b/target/linux/ipq60xx/patches-5.15/0008-v5.16-soc-qcom-smem-Support-reserved-memory-description.patch @@ -27,9 +27,11 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or drivers/soc/qcom/smem.c | 57 ++++++++++++++++++++++++++++------------- 2 files changed, 40 insertions(+), 18 deletions(-) +diff --git a/drivers/of/platform.c b/drivers/of/platform.c +index 74afbb7a4f5e..19ba8e4d4f8d 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c -@@ -509,6 +509,7 @@ EXPORT_SYMBOL_GPL(of_platform_default_po +@@ -509,6 +509,7 @@ EXPORT_SYMBOL_GPL(of_platform_default_populate); static const struct of_device_id reserved_mem_matches[] = { { .compatible = "qcom,rmtfs-mem" }, { .compatible = "qcom,cmd-db" }, @@ -37,6 +39,8 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or { .compatible = "ramoops" }, { .compatible = "nvmem-rmem" }, {} +diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c +index 4fb5aeeb0843..c7e519bfdc8a 100644 --- a/drivers/soc/qcom/smem.c +++ b/drivers/soc/qcom/smem.c @@ -9,6 +9,7 @@ @@ -47,7 +51,7 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or #include #include #include -@@ -240,7 +241,7 @@ static const u8 SMEM_INFO_MAGIC[] = { 0x +@@ -240,7 +241,7 @@ static const u8 SMEM_INFO_MAGIC[] = { 0x53, 0x49, 0x49, 0x49 }; /* SIII */ * @size: size of the memory region */ struct smem_region { @@ -56,7 +60,7 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or void __iomem *virt_base; size_t size; }; -@@ -499,7 +500,7 @@ static void *qcom_smem_get_global(struct +@@ -499,7 +500,7 @@ static void *qcom_smem_get_global(struct qcom_smem *smem, for (i = 0; i < smem->num_regions; i++) { region = &smem->regions[i]; @@ -65,7 +69,7 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or if (size != NULL) *size = le32_to_cpu(entry->size); return region->virt_base + le32_to_cpu(entry->offset); -@@ -664,7 +665,7 @@ phys_addr_t qcom_smem_virt_to_phys(void +@@ -664,7 +665,7 @@ phys_addr_t qcom_smem_virt_to_phys(void *p) if (p < region->virt_base + region->size) { u64 offset = p - region->virt_base; @@ -74,7 +78,7 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or } } -@@ -863,12 +864,12 @@ qcom_smem_enumerate_partitions(struct qc +@@ -863,12 +864,12 @@ qcom_smem_enumerate_partitions(struct qcom_smem *smem, u16 local_host) return 0; } @@ -90,7 +94,7 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or int ret; np = of_parse_phandle(dev->of_node, name, 0); -@@ -881,13 +882,9 @@ static int qcom_smem_map_memory(struct q +@@ -881,13 +882,9 @@ static int qcom_smem_map_memory(struct qcom_smem *smem, struct device *dev, of_node_put(np); if (ret) return ret; @@ -106,7 +110,7 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or return 0; } -@@ -895,12 +892,14 @@ static int qcom_smem_map_memory(struct q +@@ -895,12 +892,14 @@ static int qcom_smem_map_memory(struct qcom_smem *smem, struct device *dev, static int qcom_smem_probe(struct platform_device *pdev) { struct smem_header *header; @@ -121,17 +125,13 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or num_regions = 1; if (of_find_property(pdev->dev.of_node, "qcom,rpm-msg-ram", NULL)) -@@ -914,13 +913,35 @@ static int qcom_smem_probe(struct platfo +@@ -914,13 +913,35 @@ static int qcom_smem_probe(struct platform_device *pdev) smem->dev = &pdev->dev; smem->num_regions = num_regions; - ret = qcom_smem_map_memory(smem, &pdev->dev, "memory-region", 0); - if (ret) - return ret; -- -- if (num_regions > 1 && (ret = qcom_smem_map_memory(smem, &pdev->dev, -- "qcom,rpm-msg-ram", 1))) -- return ret; + rmem = of_reserved_mem_lookup(pdev->dev.of_node); + if (rmem) { + smem->regions[0].aux_base = rmem->base; @@ -145,7 +145,10 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or + if (ret) + return ret; + } -+ + +- if (num_regions > 1 && (ret = qcom_smem_map_memory(smem, &pdev->dev, +- "qcom,rpm-msg-ram", 1))) +- return ret; + if (num_regions > 1) { + ret = qcom_smem_resolve_mem(smem, "qcom,rpm-msg-ram", &smem->regions[1]); + if (ret) @@ -164,3 +167,6 @@ Link: https://lore.kernel.org/r/20210930182111.57353-4-bjorn.andersson@linaro.or header = smem->regions[0].virt_base; if (le32_to_cpu(header->initialized) != 1 || +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0009-v5.18-arm64-dts-qcom-ipq8074-add-SMEM-support.patch b/target/linux/ipq60xx/patches-5.15/0009-v5.18-arm64-dts-qcom-ipq8074-add-SMEM-support.patch index 1a2bdd07c..3da3aa046 100644 --- a/target/linux/ipq60xx/patches-5.15/0009-v5.18-arm64-dts-qcom-ipq8074-add-SMEM-support.patch +++ b/target/linux/ipq60xx/patches-5.15/0009-v5.18-arm64-dts-qcom-ipq8074-add-SMEM-support.patch @@ -13,9 +13,11 @@ Link: https://lore.kernel.org/r/20220106212512.1970828-1-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 6ee54f89f973..954f85c460ed 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -76,6 +76,20 @@ +@@ -76,6 +76,20 @@ psci { method = "smc"; }; @@ -36,7 +38,7 @@ Link: https://lore.kernel.org/r/20220106212512.1970828-1-robimarko@gmail.com firmware { scm { compatible = "qcom,scm-ipq8074", "qcom,scm"; -@@ -331,6 +345,12 @@ +@@ -331,6 +345,12 @@ gcc: gcc@1800000 { #reset-cells = <0x1>; }; @@ -49,3 +51,6 @@ Link: https://lore.kernel.org/r/20220106212512.1970828-1-robimarko@gmail.com spmi_bus: spmi@200f000 { compatible = "qcom,spmi-pmic-arb"; reg = <0x0200f000 0x001000>, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0010-v5.18-arm64-dts-qcom-ipq8074-add-the-reserved-memory-node.patch b/target/linux/ipq60xx/patches-5.15/0010-v5.18-arm64-dts-qcom-ipq8074-add-the-reserved-memory-node.patch index 6b617f955..b4f3ae725 100644 --- a/target/linux/ipq60xx/patches-5.15/0010-v5.18-arm64-dts-qcom-ipq8074-add-the-reserved-memory-node.patch +++ b/target/linux/ipq60xx/patches-5.15/0010-v5.18-arm64-dts-qcom-ipq8074-add-the-reserved-memory-node.patch @@ -14,9 +14,11 @@ Link: https://lore.kernel.org/r/1641560078-860-1-git-send-email-quic_kathirav@qu arch/arm64/boot/dts/qcom/ipq8074.dtsi | 5 +++++ 1 file changed, 5 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 954f85c460ed..9e8e907290a4 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -88,6 +88,11 @@ +@@ -88,6 +88,11 @@ smem@4ab00000 { hwlocks = <&tcsr_mutex 0>; }; @@ -28,3 +30,6 @@ Link: https://lore.kernel.org/r/1641560078-860-1-git-send-email-quic_kathirav@qu }; firmware { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0011-v5.18-arm64-dts-qcom-ipq8074-enable-the-GICv2m-support.patch b/target/linux/ipq60xx/patches-5.15/0011-v5.18-arm64-dts-qcom-ipq8074-enable-the-GICv2m-support.patch index 274940d40..100738bbd 100644 --- a/target/linux/ipq60xx/patches-5.15/0011-v5.18-arm64-dts-qcom-ipq8074-enable-the-GICv2m-support.patch +++ b/target/linux/ipq60xx/patches-5.15/0011-v5.18-arm64-dts-qcom-ipq8074-enable-the-GICv2m-support.patch @@ -13,9 +13,11 @@ Link: https://lore.kernel.org/r/1644334525-11577-2-git-send-email-quic_kathirav@ arch/arm64/boot/dts/qcom/ipq8074.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 9e8e907290a4..c98443d4798f 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -634,9 +634,18 @@ +@@ -634,9 +634,18 @@ dwc_1: dwc3@8c00000 { intc: interrupt-controller@b000000 { compatible = "qcom,msm-qgic2"; @@ -34,3 +36,6 @@ Link: https://lore.kernel.org/r/1644334525-11577-2-git-send-email-quic_kathirav@ }; timer { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0012-v5.18-arm64-dts-qcom-ipq8074-drop-the-clock-frequency-prop.patch b/target/linux/ipq60xx/patches-5.15/0012-v5.18-arm64-dts-qcom-ipq8074-drop-the-clock-frequency-prop.patch index 9c24d6431..e4d31333a 100644 --- a/target/linux/ipq60xx/patches-5.15/0012-v5.18-arm64-dts-qcom-ipq8074-drop-the-clock-frequency-prop.patch +++ b/target/linux/ipq60xx/patches-5.15/0012-v5.18-arm64-dts-qcom-ipq8074-drop-the-clock-frequency-prop.patch @@ -14,9 +14,11 @@ Link: https://lore.kernel.org/r/1643819709-5410-2-git-send-email-quic_kathirav@q arch/arm64/boot/dts/qcom/ipq8074.dtsi | 1 - 1 file changed, 1 deletion(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index c98443d4798f..664fba3632b1 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -670,7 +670,6 @@ +@@ -670,7 +670,6 @@ timer@b120000 { ranges; compatible = "arm,armv7-timer-mem"; reg = <0x0b120000 0x1000>; @@ -24,3 +26,6 @@ Link: https://lore.kernel.org/r/1643819709-5410-2-git-send-email-quic_kathirav@q frame@b120000 { frame-number = <0>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0013-v5.19-arm64-dts-qcom-align-dmas-in-I2C-SPI-UART-with-DT-sc.patch b/target/linux/ipq60xx/patches-5.15/0013-v5.19-arm64-dts-qcom-align-dmas-in-I2C-SPI-UART-with-DT-sc.patch index 1a6864d94..08160dc42 100644 --- a/target/linux/ipq60xx/patches-5.15/0013-v5.19-arm64-dts-qcom-align-dmas-in-I2C-SPI-UART-with-DT-sc.patch +++ b/target/linux/ipq60xx/patches-5.15/0013-v5.19-arm64-dts-qcom-align-dmas-in-I2C-SPI-UART-with-DT-sc.patch @@ -14,9 +14,11 @@ Link: https://lore.kernel.org/r/20220405063451.12011-2-krzysztof.kozlowski@linar arch/arm64/boot/dts/qcom/ipq8074.dtsi | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 664fba3632b1..61fc121dce7b 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -471,8 +471,8 @@ +@@ -471,8 +471,8 @@ blsp1_i2c2: i2c@78b6000 { <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; clock-names = "iface", "core"; clock-frequency = <400000>; @@ -27,7 +29,7 @@ Link: https://lore.kernel.org/r/20220405063451.12011-2-krzysztof.kozlowski@linar pinctrl-0 = <&i2c_0_pins>; pinctrl-names = "default"; status = "disabled"; -@@ -488,8 +488,8 @@ +@@ -488,8 +488,8 @@ blsp1_i2c3: i2c@78b7000 { <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; clock-names = "iface", "core"; clock-frequency = <100000>; @@ -38,7 +40,7 @@ Link: https://lore.kernel.org/r/20220405063451.12011-2-krzysztof.kozlowski@linar status = "disabled"; }; -@@ -503,8 +503,8 @@ +@@ -503,8 +503,8 @@ blsp1_i2c5: i2c@78b9000 { <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>; clock-names = "iface", "core"; clock-frequency = <400000>; @@ -49,7 +51,7 @@ Link: https://lore.kernel.org/r/20220405063451.12011-2-krzysztof.kozlowski@linar status = "disabled"; }; -@@ -518,8 +518,8 @@ +@@ -518,8 +518,8 @@ blsp1_i2c6: i2c@78ba000 { <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>; clock-names = "iface", "core"; clock-frequency = <100000>; @@ -60,3 +62,6 @@ Link: https://lore.kernel.org/r/20220405063451.12011-2-krzysztof.kozlowski@linar status = "disabled"; }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0014-v5.19-arm64-dts-qcom-align-clocks-in-I2C-SPI-with-DT-schem.patch b/target/linux/ipq60xx/patches-5.15/0014-v5.19-arm64-dts-qcom-align-clocks-in-I2C-SPI-with-DT-schem.patch index 616ccf171..ad9e1e4ac 100644 --- a/target/linux/ipq60xx/patches-5.15/0014-v5.19-arm64-dts-qcom-align-clocks-in-I2C-SPI-with-DT-schem.patch +++ b/target/linux/ipq60xx/patches-5.15/0014-v5.19-arm64-dts-qcom-align-clocks-in-I2C-SPI-with-DT-schem.patch @@ -13,9 +13,11 @@ Link: https://lore.kernel.org/r/20220405063451.12011-3-krzysztof.kozlowski@linar arch/arm64/boot/dts/qcom/ipq8074.dtsi | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 61fc121dce7b..e771ceea7453 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -467,9 +467,9 @@ +@@ -467,9 +467,9 @@ blsp1_i2c2: i2c@78b6000 { #size-cells = <0>; reg = <0x078b6000 0x600>; interrupts = ; @@ -28,7 +30,7 @@ Link: https://lore.kernel.org/r/20220405063451.12011-3-krzysztof.kozlowski@linar clock-frequency = <400000>; dmas = <&blsp_dma 14>, <&blsp_dma 15>; dma-names = "tx", "rx"; -@@ -484,9 +484,9 @@ +@@ -484,9 +484,9 @@ blsp1_i2c3: i2c@78b7000 { #size-cells = <0>; reg = <0x078b7000 0x600>; interrupts = ; @@ -41,7 +43,7 @@ Link: https://lore.kernel.org/r/20220405063451.12011-3-krzysztof.kozlowski@linar clock-frequency = <100000>; dmas = <&blsp_dma 16>, <&blsp_dma 17>; dma-names = "tx", "rx"; -@@ -499,9 +499,9 @@ +@@ -499,9 +499,9 @@ blsp1_i2c5: i2c@78b9000 { #size-cells = <0>; reg = <0x78b9000 0x600>; interrupts = ; @@ -54,7 +56,7 @@ Link: https://lore.kernel.org/r/20220405063451.12011-3-krzysztof.kozlowski@linar clock-frequency = <400000>; dmas = <&blsp_dma 20>, <&blsp_dma 21>; dma-names = "tx", "rx"; -@@ -514,9 +514,9 @@ +@@ -514,9 +514,9 @@ blsp1_i2c6: i2c@78ba000 { #size-cells = <0>; reg = <0x078ba000 0x600>; interrupts = ; @@ -67,3 +69,6 @@ Link: https://lore.kernel.org/r/20220405063451.12011-3-krzysztof.kozlowski@linar clock-frequency = <100000>; dmas = <&blsp_dma 22>, <&blsp_dma 23>; dma-names = "tx", "rx"; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0015-v5.19-arm64-dts-qcom-correct-DWC3-node-names-and-unit-addr.patch b/target/linux/ipq60xx/patches-5.15/0015-v5.19-arm64-dts-qcom-correct-DWC3-node-names-and-unit-addr.patch index f5077d9e0..b08202256 100644 --- a/target/linux/ipq60xx/patches-5.15/0015-v5.19-arm64-dts-qcom-correct-DWC3-node-names-and-unit-addr.patch +++ b/target/linux/ipq60xx/patches-5.15/0015-v5.19-arm64-dts-qcom-correct-DWC3-node-names-and-unit-addr.patch @@ -15,9 +15,11 @@ Signed-off-by: Greg Kroah-Hartman arch/arm64/boot/dts/qcom/ipq8074.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index e771ceea7453..51c3eb1bd393 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -578,7 +578,7 @@ +@@ -578,7 +578,7 @@ usb_0: usb@8af8800 { resets = <&gcc GCC_USB0_BCR>; status = "disabled"; @@ -26,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman compatible = "snps,dwc3"; reg = <0x8a00000 0xcd00>; interrupts = ; -@@ -618,7 +618,7 @@ +@@ -618,7 +618,7 @@ usb_1: usb@8cf8800 { resets = <&gcc GCC_USB1_BCR>; status = "disabled"; @@ -35,3 +37,6 @@ Signed-off-by: Greg Kroah-Hartman compatible = "snps,dwc3"; reg = <0x8c00000 0xcd00>; interrupts = ; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0016-v5.19-arm64-dts-qcom-ipq8074-add-dedicated-qcom-ipq8074-dw.patch b/target/linux/ipq60xx/patches-5.15/0016-v5.19-arm64-dts-qcom-ipq8074-add-dedicated-qcom-ipq8074-dw.patch index fd035e1a6..08050ee65 100644 --- a/target/linux/ipq60xx/patches-5.15/0016-v5.19-arm64-dts-qcom-ipq8074-add-dedicated-qcom-ipq8074-dw.patch +++ b/target/linux/ipq60xx/patches-5.15/0016-v5.19-arm64-dts-qcom-ipq8074-add-dedicated-qcom-ipq8074-dw.patch @@ -14,9 +14,11 @@ Signed-off-by: Greg Kroah-Hartman arch/arm64/boot/dts/qcom/ipq8074.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 51c3eb1bd393..4d3ecb09de9c 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -553,7 +553,7 @@ +@@ -553,7 +553,7 @@ qpic_nand: nand-controller@79b0000 { }; usb_0: usb@8af8800 { @@ -25,7 +27,7 @@ Signed-off-by: Greg Kroah-Hartman reg = <0x08af8800 0x400>; #address-cells = <1>; #size-cells = <1>; -@@ -593,7 +593,7 @@ +@@ -593,7 +593,7 @@ dwc_0: usb@8a00000 { }; usb_1: usb@8cf8800 { @@ -34,3 +36,6 @@ Signed-off-by: Greg Kroah-Hartman reg = <0x08cf8800 0x400>; #address-cells = <1>; #size-cells = <1>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0017-v5.19-arm64-dts-qcom-align-DWC3-USB-clocks-with-DT-schema.patch b/target/linux/ipq60xx/patches-5.15/0017-v5.19-arm64-dts-qcom-align-DWC3-USB-clocks-with-DT-schema.patch index ca68245d5..3c494cd74 100644 --- a/target/linux/ipq60xx/patches-5.15/0017-v5.19-arm64-dts-qcom-align-DWC3-USB-clocks-with-DT-schema.patch +++ b/target/linux/ipq60xx/patches-5.15/0017-v5.19-arm64-dts-qcom-align-DWC3-USB-clocks-with-DT-schema.patch @@ -13,9 +13,11 @@ Signed-off-by: Greg Kroah-Hartman arch/arm64/boot/dts/qcom/ipq8074.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 4d3ecb09de9c..697f46e17903 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -563,8 +563,8 @@ +@@ -563,8 +563,8 @@ usb_0: usb@8af8800 { <&gcc GCC_USB0_MASTER_CLK>, <&gcc GCC_USB0_SLEEP_CLK>, <&gcc GCC_USB0_MOCK_UTMI_CLK>; @@ -26,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman "sleep", "mock_utmi"; -@@ -603,8 +603,8 @@ +@@ -603,8 +603,8 @@ usb_1: usb@8cf8800 { <&gcc GCC_USB1_MASTER_CLK>, <&gcc GCC_USB1_SLEEP_CLK>, <&gcc GCC_USB1_MOCK_UTMI_CLK>; @@ -37,3 +39,6 @@ Signed-off-by: Greg Kroah-Hartman "sleep", "mock_utmi"; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0018-v6.0-arm64-dts-qcom-adjust-whitespace-around.patch b/target/linux/ipq60xx/patches-5.15/0018-v6.0-arm64-dts-qcom-adjust-whitespace-around.patch index c1ef33807..2e1f69770 100644 --- a/target/linux/ipq60xx/patches-5.15/0018-v6.0-arm64-dts-qcom-adjust-whitespace-around.patch +++ b/target/linux/ipq60xx/patches-5.15/0018-v6.0-arm64-dts-qcom-adjust-whitespace-around.patch @@ -14,9 +14,11 @@ Link: https://lore.kernel.org/r/20220526204248.832139-1-krzysztof.kozlowski@lina arch/arm64/boot/dts/qcom/ipq8074.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 697f46e17903..6a4bcf3ef94e 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -119,7 +119,7 @@ +@@ -119,7 +119,7 @@ ssphy_1: phy@58000 { <&xo>; clock-names = "aux", "cfg_ahb", "ref"; @@ -25,7 +27,7 @@ Link: https://lore.kernel.org/r/20220526204248.832139-1-krzysztof.kozlowski@lina <&gcc GCC_USB3PHY_1_PHY_BCR>; reset-names = "phy","common"; status = "disabled"; -@@ -162,7 +162,7 @@ +@@ -162,7 +162,7 @@ ssphy_0: phy@78000 { <&xo>; clock-names = "aux", "cfg_ahb", "ref"; @@ -34,3 +36,6 @@ Link: https://lore.kernel.org/r/20220526204248.832139-1-krzysztof.kozlowski@lina <&gcc GCC_USB3PHY_0_PHY_BCR>; reset-names = "phy","common"; status = "disabled"; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0019-v6.0-arm64-dts-qcom-Fix-sdhci-node-names-use-mmc.patch b/target/linux/ipq60xx/patches-5.15/0019-v6.0-arm64-dts-qcom-Fix-sdhci-node-names-use-mmc.patch index 6afe50725..f1a55ea5d 100644 --- a/target/linux/ipq60xx/patches-5.15/0019-v6.0-arm64-dts-qcom-Fix-sdhci-node-names-use-mmc.patch +++ b/target/linux/ipq60xx/patches-5.15/0019-v6.0-arm64-dts-qcom-Fix-sdhci-node-names-use-mmc.patch @@ -21,9 +21,11 @@ Link: https://lore.kernel.org/r/20220514215424.1007718-2-bhupesh.sharma@linaro.o arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 6a4bcf3ef94e..3658f41393e1 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -375,7 +375,7 @@ +@@ -375,7 +375,7 @@ spmi_bus: spmi@200f000 { cell-index = <0>; }; @@ -32,3 +34,6 @@ Link: https://lore.kernel.org/r/20220514215424.1007718-2-bhupesh.sharma@linaro.o compatible = "qcom,sdhci-msm-v4"; reg = <0x7824900 0x500>, <0x7824000 0x800>; reg-names = "hc_mem", "core_mem"; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0020-v6.0-arm64-dts-qcom-Fix-ordering-of-clocks-clock-names-fo.patch b/target/linux/ipq60xx/patches-5.15/0020-v6.0-arm64-dts-qcom-Fix-ordering-of-clocks-clock-names-fo.patch index f26d01bc3..5758242b6 100644 --- a/target/linux/ipq60xx/patches-5.15/0020-v6.0-arm64-dts-qcom-Fix-ordering-of-clocks-clock-names-fo.patch +++ b/target/linux/ipq60xx/patches-5.15/0020-v6.0-arm64-dts-qcom-Fix-ordering-of-clocks-clock-names-fo.patch @@ -28,9 +28,11 @@ Link: https://lore.kernel.org/r/20220514215424.1007718-5-bhupesh.sharma@linaro.o arch/arm64/boot/dts/qcom/ipq8074.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 3658f41393e1..cdeb6e3f9a92 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -384,10 +384,10 @@ +@@ -384,10 +384,10 @@ sdhc_1: mmc@7824900 { ; interrupt-names = "hc_irq", "pwr_irq"; @@ -45,3 +47,6 @@ Link: https://lore.kernel.org/r/20220514215424.1007718-5-bhupesh.sharma@linaro.o max-frequency = <384000000>; mmc-ddr-1_8v; mmc-hs200-1_8v; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0021-v6.0-dt-bindings-clock-qcom-ipq8074-add-PPE-crypto-clock.patch b/target/linux/ipq60xx/patches-5.15/0021-v6.0-dt-bindings-clock-qcom-ipq8074-add-PPE-crypto-clock.patch index 3985f363a..3517a9655 100644 --- a/target/linux/ipq60xx/patches-5.15/0021-v6.0-dt-bindings-clock-qcom-ipq8074-add-PPE-crypto-clock.patch +++ b/target/linux/ipq60xx/patches-5.15/0021-v6.0-dt-bindings-clock-qcom-ipq8074-add-PPE-crypto-clock.patch @@ -13,6 +13,8 @@ Link: https://lore.kernel.org/r/20220515210048.483898-4-robimarko@gmail.com include/dt-bindings/clock/qcom,gcc-ipq8074.h | 1 + 1 file changed, 1 insertion(+) +diff --git a/include/dt-bindings/clock/qcom,gcc-ipq8074.h b/include/dt-bindings/clock/qcom,gcc-ipq8074.h +index 8e2bec1c91bf..5f0928785d7a 100644 --- a/include/dt-bindings/clock/qcom,gcc-ipq8074.h +++ b/include/dt-bindings/clock/qcom,gcc-ipq8074.h @@ -233,6 +233,7 @@ @@ -23,3 +25,6 @@ Link: https://lore.kernel.org/r/20220515210048.483898-4-robimarko@gmail.com #define GCC_BLSP1_BCR 0 #define GCC_BLSP1_QUP1_BCR 1 +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0022-v6.0-clk-qcom-ipq8074-add-PPE-crypto-clock.patch b/target/linux/ipq60xx/patches-5.15/0022-v6.0-clk-qcom-ipq8074-add-PPE-crypto-clock.patch index 9cdcf1710..a3e8c1ca9 100644 --- a/target/linux/ipq60xx/patches-5.15/0022-v6.0-clk-qcom-ipq8074-add-PPE-crypto-clock.patch +++ b/target/linux/ipq60xx/patches-5.15/0022-v6.0-clk-qcom-ipq8074-add-PPE-crypto-clock.patch @@ -15,9 +15,11 @@ Link: https://lore.kernel.org/r/20220515210048.483898-5-robimarko@gmail.com drivers/clk/qcom/gcc-ipq8074.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) +diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c +index d6d5defb82c9..bbd8c8f0ed6f 100644 --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c -@@ -3183,6 +3183,24 @@ static struct clk_branch gcc_nss_ptp_ref +@@ -3183,6 +3183,24 @@ static struct clk_branch gcc_nss_ptp_ref_clk = { }, }; @@ -42,7 +44,7 @@ Link: https://lore.kernel.org/r/20220515210048.483898-5-robimarko@gmail.com static struct clk_branch gcc_nssnoc_ce_apb_clk = { .halt_reg = 0x6830c, .clkr = { -@@ -4655,6 +4673,7 @@ static struct clk_regmap *gcc_ipq8074_cl +@@ -4655,6 +4673,7 @@ static struct clk_regmap *gcc_ipq8074_clks[] = { [GCC_PCIE0_RCHNG_CLK_SRC] = &pcie0_rchng_clk_src.clkr, [GCC_PCIE0_RCHNG_CLK] = &gcc_pcie0_rchng_clk.clkr, [GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr, @@ -50,3 +52,6 @@ Link: https://lore.kernel.org/r/20220515210048.483898-5-robimarko@gmail.com }; static const struct qcom_reset_map gcc_ipq8074_resets[] = { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0023-v6.0-dt-bindings-clock-qcom-ipq8074-add-USB-GDSCs.patch b/target/linux/ipq60xx/patches-5.15/0023-v6.0-dt-bindings-clock-qcom-ipq8074-add-USB-GDSCs.patch index f3253edae..5124726a2 100644 --- a/target/linux/ipq60xx/patches-5.15/0023-v6.0-dt-bindings-clock-qcom-ipq8074-add-USB-GDSCs.patch +++ b/target/linux/ipq60xx/patches-5.15/0023-v6.0-dt-bindings-clock-qcom-ipq8074-add-USB-GDSCs.patch @@ -13,6 +13,8 @@ Link: https://lore.kernel.org/r/20220515210048.483898-8-robimarko@gmail.com include/dt-bindings/clock/qcom,gcc-ipq8074.h | 3 +++ 1 file changed, 3 insertions(+) +diff --git a/include/dt-bindings/clock/qcom,gcc-ipq8074.h b/include/dt-bindings/clock/qcom,gcc-ipq8074.h +index 5f0928785d7a..e4991d303708 100644 --- a/include/dt-bindings/clock/qcom,gcc-ipq8074.h +++ b/include/dt-bindings/clock/qcom,gcc-ipq8074.h @@ -368,4 +368,7 @@ @@ -23,3 +25,6 @@ Link: https://lore.kernel.org/r/20220515210048.483898-8-robimarko@gmail.com +#define USB1_GDSC 1 + #endif +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0024-v6.0-clk-qcom-ipq8074-add-USB-GDSCs.patch b/target/linux/ipq60xx/patches-5.15/0024-v6.0-clk-qcom-ipq8074-add-USB-GDSCs.patch index 7eca353d2..4ea5e06e3 100644 --- a/target/linux/ipq60xx/patches-5.15/0024-v6.0-clk-qcom-ipq8074-add-USB-GDSCs.patch +++ b/target/linux/ipq60xx/patches-5.15/0024-v6.0-clk-qcom-ipq8074-add-USB-GDSCs.patch @@ -13,6 +13,8 @@ Link: https://lore.kernel.org/r/20220515210048.483898-9-robimarko@gmail.com drivers/clk/qcom/gcc-ipq8074.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) +diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig +index 9ef007b3cf9b..3c84e34353a4 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -166,6 +166,7 @@ config IPQ_LCC_806X @@ -23,6 +25,8 @@ Link: https://lore.kernel.org/r/20220515210048.483898-9-robimarko@gmail.com help Support for global clock controller on ipq8074 devices. Say Y if you want to use peripheral devices such as UART, SPI, +diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c +index bbd8c8f0ed6f..42d185fe19c8 100644 --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c @@ -22,6 +22,7 @@ @@ -33,7 +37,7 @@ Link: https://lore.kernel.org/r/20220515210048.483898-9-robimarko@gmail.com #include "reset.h" enum { -@@ -4408,6 +4409,22 @@ static struct clk_branch gcc_pcie0_axi_s +@@ -4408,6 +4409,22 @@ static struct clk_branch gcc_pcie0_axi_s_bridge_clk = { }, }; @@ -56,7 +60,7 @@ Link: https://lore.kernel.org/r/20220515210048.483898-9-robimarko@gmail.com static const struct alpha_pll_config ubi32_pll_config = { .l = 0x4e, .config_ctl_val = 0x200d4aa8, -@@ -4811,6 +4828,11 @@ static const struct qcom_reset_map gcc_i +@@ -4811,6 +4828,11 @@ static const struct qcom_reset_map gcc_ipq8074_resets[] = { [GCC_PCIE1_AXI_MASTER_STICKY_ARES] = { 0x76040, 6 }, }; @@ -68,7 +72,7 @@ Link: https://lore.kernel.org/r/20220515210048.483898-9-robimarko@gmail.com static const struct of_device_id gcc_ipq8074_match_table[] = { { .compatible = "qcom,gcc-ipq8074" }, { } -@@ -4833,6 +4855,8 @@ static const struct qcom_cc_desc gcc_ipq +@@ -4833,6 +4855,8 @@ static const struct qcom_cc_desc gcc_ipq8074_desc = { .num_resets = ARRAY_SIZE(gcc_ipq8074_resets), .clk_hws = gcc_ipq8074_hws, .num_clk_hws = ARRAY_SIZE(gcc_ipq8074_hws), @@ -77,3 +81,6 @@ Link: https://lore.kernel.org/r/20220515210048.483898-9-robimarko@gmail.com }; static int gcc_ipq8074_probe(struct platform_device *pdev) +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0025-v6.0-arm64-dts-qcom-ipq8074-add-USB-power-domains.patch b/target/linux/ipq60xx/patches-5.15/0025-v6.0-arm64-dts-qcom-ipq8074-add-USB-power-domains.patch index 9e356189b..13fad5456 100644 --- a/target/linux/ipq60xx/patches-5.15/0025-v6.0-arm64-dts-qcom-ipq8074-add-USB-power-domains.patch +++ b/target/linux/ipq60xx/patches-5.15/0025-v6.0-arm64-dts-qcom-ipq8074-add-USB-power-domains.patch @@ -13,9 +13,11 @@ Link: https://lore.kernel.org/r/20220515210048.483898-11-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 5 +++++ 1 file changed, 5 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index cdeb6e3f9a92..a6cb0dafcc17 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -347,6 +347,7 @@ +@@ -347,6 +347,7 @@ gcc: gcc@1800000 { compatible = "qcom,gcc-ipq8074"; reg = <0x01800000 0x80000>; #clock-cells = <0x1>; @@ -23,7 +25,7 @@ Link: https://lore.kernel.org/r/20220515210048.483898-11-robimarko@gmail.com #reset-cells = <0x1>; }; -@@ -575,6 +576,8 @@ +@@ -575,6 +576,8 @@ usb_0: usb@8af8800 { <133330000>, <19200000>; @@ -32,7 +34,7 @@ Link: https://lore.kernel.org/r/20220515210048.483898-11-robimarko@gmail.com resets = <&gcc GCC_USB0_BCR>; status = "disabled"; -@@ -615,6 +618,8 @@ +@@ -615,6 +618,8 @@ usb_1: usb@8cf8800 { <133330000>, <19200000>; @@ -41,3 +43,6 @@ Link: https://lore.kernel.org/r/20220515210048.483898-11-robimarko@gmail.com resets = <&gcc GCC_USB1_BCR>; status = "disabled"; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0026-v6.0-arm64-dts-qcom-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch b/target/linux/ipq60xx/patches-5.15/0026-v6.0-arm64-dts-qcom-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch index 539db4d71..f291cd711 100644 --- a/target/linux/ipq60xx/patches-5.15/0026-v6.0-arm64-dts-qcom-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch +++ b/target/linux/ipq60xx/patches-5.15/0026-v6.0-arm64-dts-qcom-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch @@ -19,9 +19,11 @@ Link: https://lore.kernel.org/r/20220704113318.623102-1-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index a6cb0dafcc17..3779563527fa 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -653,14 +653,6 @@ +@@ -653,14 +653,6 @@ v2m@0 { }; }; @@ -36,7 +38,7 @@ Link: https://lore.kernel.org/r/20220704113318.623102-1-robimarko@gmail.com watchdog: watchdog@b017000 { compatible = "qcom,kpss-wdt"; reg = <0xb017000 0x1000>; -@@ -852,4 +844,12 @@ +@@ -852,4 +844,12 @@ IRQ_TYPE_LEVEL_HIGH>, /* int_c */ status = "disabled"; }; }; @@ -49,3 +51,6 @@ Link: https://lore.kernel.org/r/20220704113318.623102-1-robimarko@gmail.com + ; + }; }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0027-v6.0-arm64-dts-qcom-ipq8074-add-reset-to-SDHCI.patch b/target/linux/ipq60xx/patches-5.15/0027-v6.0-arm64-dts-qcom-ipq8074-add-reset-to-SDHCI.patch index faaf1b663..d75d9d77e 100644 --- a/target/linux/ipq60xx/patches-5.15/0027-v6.0-arm64-dts-qcom-ipq8074-add-reset-to-SDHCI.patch +++ b/target/linux/ipq60xx/patches-5.15/0027-v6.0-arm64-dts-qcom-ipq8074-add-reset-to-SDHCI.patch @@ -15,9 +15,11 @@ Link: https://lore.kernel.org/r/20220704143554.1180927-2-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 1 + 1 file changed, 1 insertion(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 3779563527fa..c4f9bec9a39b 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -389,6 +389,7 @@ +@@ -389,6 +389,7 @@ sdhc_1: mmc@7824900 { <&gcc GCC_SDCC1_APPS_CLK>, <&xo>; clock-names = "iface", "core", "xo"; @@ -25,3 +27,6 @@ Link: https://lore.kernel.org/r/20220704143554.1180927-2-robimarko@gmail.com max-frequency = <384000000>; mmc-ddr-1_8v; mmc-hs200-1_8v; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0028-v6.0-arm64-dts-qcom-ipq8074-drop-USB-PHY-clock-index.patch b/target/linux/ipq60xx/patches-5.15/0028-v6.0-arm64-dts-qcom-ipq8074-drop-USB-PHY-clock-index.patch index 4f5148d16..a03a0f749 100644 --- a/target/linux/ipq60xx/patches-5.15/0028-v6.0-arm64-dts-qcom-ipq8074-drop-USB-PHY-clock-index.patch +++ b/target/linux/ipq60xx/patches-5.15/0028-v6.0-arm64-dts-qcom-ipq8074-drop-USB-PHY-clock-index.patch @@ -14,9 +14,11 @@ Link: https://lore.kernel.org/r/20220705114032.22787-5-johan+linaro@kernel.org arch/arm64/boot/dts/qcom/ipq8074.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index c4f9bec9a39b..edcb6a500175 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -130,7 +130,7 @@ +@@ -130,7 +130,7 @@ usb1_ssphy: phy@58200 { <0x00058800 0x1f8>, /* PCS */ <0x00058600 0x044>; /* PCS misc*/ #phy-cells = <0>; @@ -25,7 +27,7 @@ Link: https://lore.kernel.org/r/20220705114032.22787-5-johan+linaro@kernel.org clocks = <&gcc GCC_USB1_PIPE_CLK>; clock-names = "pipe0"; clock-output-names = "gcc_usb1_pipe_clk_src"; -@@ -173,7 +173,7 @@ +@@ -173,7 +173,7 @@ usb0_ssphy: phy@78200 { <0x00078800 0x1f8>, /* PCS */ <0x00078600 0x044>; /* PCS misc*/ #phy-cells = <0>; @@ -34,3 +36,6 @@ Link: https://lore.kernel.org/r/20220705114032.22787-5-johan+linaro@kernel.org clocks = <&gcc GCC_USB0_PIPE_CLK>; clock-names = "pipe0"; clock-output-names = "gcc_usb0_pipe_clk_src"; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0029-v6.0-arm64-dts-qcom-ipq8074-add-APCS-node.patch b/target/linux/ipq60xx/patches-5.15/0029-v6.0-arm64-dts-qcom-ipq8074-add-APCS-node.patch index edb9faf69..843cb678b 100644 --- a/target/linux/ipq60xx/patches-5.15/0029-v6.0-arm64-dts-qcom-ipq8074-add-APCS-node.patch +++ b/target/linux/ipq60xx/patches-5.15/0029-v6.0-arm64-dts-qcom-ipq8074-add-APCS-node.patch @@ -18,9 +18,11 @@ Link: https://lore.kernel.org/r/20220707173733.404947-4-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index edcb6a500175..14487a39fb6c 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -662,6 +662,14 @@ +@@ -662,6 +662,14 @@ watchdog: watchdog@b017000 { timeout-sec = <30>; }; @@ -35,3 +37,6 @@ Link: https://lore.kernel.org/r/20220707173733.404947-4-robimarko@gmail.com timer@b120000 { #address-cells = <1>; #size-cells = <1>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0030-v6.0-arm64-dts-qcom-ipq8074-add-size-address-cells-to-DTS.patch b/target/linux/ipq60xx/patches-5.15/0030-v6.0-arm64-dts-qcom-ipq8074-add-size-address-cells-to-DTS.patch index 02db52eae..a2ab6324f 100644 --- a/target/linux/ipq60xx/patches-5.15/0030-v6.0-arm64-dts-qcom-ipq8074-add-size-address-cells-to-DTS.patch +++ b/target/linux/ipq60xx/patches-5.15/0030-v6.0-arm64-dts-qcom-ipq8074-add-size-address-cells-to-DTS.patch @@ -18,6 +18,8 @@ Link: https://lore.kernel.org/r/20220708133846.599735-1-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 3 +++ 3 files changed, 3 insertions(+), 5 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts b/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts +index cc08dc4eb56a..3308e37f6abb 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts +++ b/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts @@ -5,8 +5,6 @@ @@ -29,6 +31,8 @@ Link: https://lore.kernel.org/r/20220708133846.599735-1-robimarko@gmail.com model = "Qualcomm Technologies, Inc. IPQ8074-HK01"; compatible = "qcom,ipq8074-hk01", "qcom,ipq8074"; interrupt-parent = <&intc>; +diff --git a/arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi b/arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi +index 07e670829676..0043cc23cf7d 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi @@ -7,9 +7,6 @@ @@ -41,6 +45,8 @@ Link: https://lore.kernel.org/r/20220708133846.599735-1-robimarko@gmail.com interrupt-parent = <&intc>; aliases { +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 14487a39fb6c..e516d13b8f98 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi @@ -7,6 +7,9 @@ @@ -53,3 +59,6 @@ Link: https://lore.kernel.org/r/20220708133846.599735-1-robimarko@gmail.com model = "Qualcomm Technologies, Inc. IPQ8074"; compatible = "qcom,ipq8074"; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0031-v6.0-arm64-dts-qcom-ipq8074-add-interrupt-parent-to-DTSI.patch b/target/linux/ipq60xx/patches-5.15/0031-v6.0-arm64-dts-qcom-ipq8074-add-interrupt-parent-to-DTSI.patch index bbe4bf1bd..7e0373998 100644 --- a/target/linux/ipq60xx/patches-5.15/0031-v6.0-arm64-dts-qcom-ipq8074-add-interrupt-parent-to-DTSI.patch +++ b/target/linux/ipq60xx/patches-5.15/0031-v6.0-arm64-dts-qcom-ipq8074-add-interrupt-parent-to-DTSI.patch @@ -17,6 +17,8 @@ Link: https://lore.kernel.org/r/20220708133846.599735-2-robimarko@gmail.com arch/arm64/boot/dts/qcom/ipq8074.dtsi | 1 + 3 files changed, 1 insertion(+), 3 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts b/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts +index 3308e37f6abb..ef30053136e3 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts +++ b/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts @@ -7,7 +7,6 @@ @@ -27,6 +29,8 @@ Link: https://lore.kernel.org/r/20220708133846.599735-2-robimarko@gmail.com aliases { serial0 = &blsp1_uart5; +diff --git a/arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi b/arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi +index 0043cc23cf7d..c479a3fd0f40 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi @@ -7,8 +7,6 @@ @@ -38,9 +42,11 @@ Link: https://lore.kernel.org/r/20220708133846.599735-2-robimarko@gmail.com aliases { serial0 = &blsp1_uart5; }; +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index e516d13b8f98..d53675fc1595 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -12,6 +12,7 @@ +@@ -12,6 +12,7 @@ / { model = "Qualcomm Technologies, Inc. IPQ8074"; compatible = "qcom,ipq8074"; @@ -48,3 +54,6 @@ Link: https://lore.kernel.org/r/20220708133846.599735-2-robimarko@gmail.com clocks { sleep_clk: sleep_clk { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0032-v6.0-regulator-qcom_spmi-add-support-for-HT_P150.patch b/target/linux/ipq60xx/patches-5.15/0032-v6.0-regulator-qcom_spmi-add-support-for-HT_P150.patch index be0479714..9f66f30e0 100644 --- a/target/linux/ipq60xx/patches-5.15/0032-v6.0-regulator-qcom_spmi-add-support-for-HT_P150.patch +++ b/target/linux/ipq60xx/patches-5.15/0032-v6.0-regulator-qcom_spmi-add-support-for-HT_P150.patch @@ -19,6 +19,8 @@ Signed-off-by: Mark Brown drivers/regulator/qcom_spmi-regulator.c | 7 +++++++ 1 file changed, 7 insertions(+) +diff --git a/drivers/regulator/qcom_spmi-regulator.c b/drivers/regulator/qcom_spmi-regulator.c +index 41424a3366d0..49e5fe168391 100644 --- a/drivers/regulator/qcom_spmi-regulator.c +++ b/drivers/regulator/qcom_spmi-regulator.c @@ -164,6 +164,7 @@ enum spmi_regulator_subtype { @@ -29,7 +31,7 @@ Signed-off-by: Mark Brown }; enum spmi_common_regulator_registers { -@@ -544,6 +545,10 @@ static struct spmi_voltage_range hfs430_ +@@ -544,6 +545,10 @@ static struct spmi_voltage_range hfs430_ranges[] = { SPMI_VOLTAGE_RANGE(0, 320000, 320000, 2040000, 2040000, 8000), }; @@ -48,7 +50,7 @@ Signed-off-by: Mark Brown static inline int spmi_vreg_read(struct spmi_regulator *vreg, u16 addr, u8 *buf, int len) -@@ -1458,6 +1464,7 @@ static const struct regulator_ops spmi_h +@@ -1458,6 +1464,7 @@ static const struct regulator_ops spmi_hfs430_ops = { static const struct spmi_regulator_mapping supported_regulators[] = { /* type subtype dig_min dig_max ltype ops setpoints hpm_min */ @@ -56,3 +58,6 @@ Signed-off-by: Mark Brown SPMI_VREG(BUCK, GP_CTL, 0, INF, SMPS, smps, smps, 100000), SPMI_VREG(BUCK, HFS430, 0, INF, HFS430, hfs430, hfs430, 10000), SPMI_VREG(LDO, N300, 0, INF, LDO, ldo, nldo1, 10000), +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0033-v6.0-regulator-qcom_spmi-add-support-for-HT_P600.patch b/target/linux/ipq60xx/patches-5.15/0033-v6.0-regulator-qcom_spmi-add-support-for-HT_P600.patch index a326481ea..9648207c8 100644 --- a/target/linux/ipq60xx/patches-5.15/0033-v6.0-regulator-qcom_spmi-add-support-for-HT_P600.patch +++ b/target/linux/ipq60xx/patches-5.15/0033-v6.0-regulator-qcom_spmi-add-support-for-HT_P600.patch @@ -20,6 +20,8 @@ Signed-off-by: Mark Brown drivers/regulator/qcom_spmi-regulator.c | 7 +++++++ 1 file changed, 7 insertions(+) +diff --git a/drivers/regulator/qcom_spmi-regulator.c b/drivers/regulator/qcom_spmi-regulator.c +index 49e5fe168391..828e97b873df 100644 --- a/drivers/regulator/qcom_spmi-regulator.c +++ b/drivers/regulator/qcom_spmi-regulator.c @@ -165,6 +165,7 @@ enum spmi_regulator_subtype { @@ -30,7 +32,7 @@ Signed-off-by: Mark Brown }; enum spmi_common_regulator_registers { -@@ -549,6 +550,10 @@ static struct spmi_voltage_range ht_p150 +@@ -549,6 +550,10 @@ static struct spmi_voltage_range ht_p150_ranges[] = { SPMI_VOLTAGE_RANGE(0, 1616000, 1616000, 3304000, 3304000, 8000), }; @@ -41,7 +43,7 @@ Signed-off-by: Mark Brown static DEFINE_SPMI_SET_POINTS(pldo); static DEFINE_SPMI_SET_POINTS(nldo1); static DEFINE_SPMI_SET_POINTS(nldo2); -@@ -570,6 +575,7 @@ static DEFINE_SPMI_SET_POINTS(ht_lvpldo) +@@ -570,6 +575,7 @@ static DEFINE_SPMI_SET_POINTS(ht_lvpldo); static DEFINE_SPMI_SET_POINTS(ht_nldo); static DEFINE_SPMI_SET_POINTS(hfs430); static DEFINE_SPMI_SET_POINTS(ht_p150); @@ -49,7 +51,7 @@ Signed-off-by: Mark Brown static inline int spmi_vreg_read(struct spmi_regulator *vreg, u16 addr, u8 *buf, int len) -@@ -1464,6 +1470,7 @@ static const struct regulator_ops spmi_h +@@ -1464,6 +1470,7 @@ static const struct regulator_ops spmi_hfs430_ops = { static const struct spmi_regulator_mapping supported_regulators[] = { /* type subtype dig_min dig_max ltype ops setpoints hpm_min */ @@ -57,3 +59,6 @@ Signed-off-by: Mark Brown SPMI_VREG(LDO, HT_P150, 0, INF, HFS430, hfs430, ht_p150, 10000), SPMI_VREG(BUCK, GP_CTL, 0, INF, SMPS, smps, smps, 100000), SPMI_VREG(BUCK, HFS430, 0, INF, HFS430, hfs430, hfs430, 10000), +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0034-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch b/target/linux/ipq60xx/patches-5.15/0034-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch index 49eac1065..a713dd9f9 100644 --- a/target/linux/ipq60xx/patches-5.15/0034-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch +++ b/target/linux/ipq60xx/patches-5.15/0034-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch @@ -28,9 +28,11 @@ Signed-off-by: Mark Brown drivers/regulator/qcom_spmi-regulator.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) +diff --git a/drivers/regulator/qcom_spmi-regulator.c b/drivers/regulator/qcom_spmi-regulator.c +index 828e97b873df..13521d47d589 100644 --- a/drivers/regulator/qcom_spmi-regulator.c +++ b/drivers/regulator/qcom_spmi-regulator.c -@@ -2101,6 +2101,28 @@ static const struct spmi_regulator_data +@@ -2101,6 +2101,28 @@ static const struct spmi_regulator_data pm8005_regulators[] = { { } }; @@ -59,7 +61,7 @@ Signed-off-by: Mark Brown static const struct spmi_regulator_data pms405_regulators[] = { { "s3", 0x1a00, "vdd_s3"}, { } -@@ -2117,6 +2139,7 @@ static const struct of_device_id qcom_sp +@@ -2117,6 +2139,7 @@ static const struct of_device_id qcom_spmi_regulator_match[] = { { .compatible = "qcom,pmi8994-regulators", .data = &pmi8994_regulators }, { .compatible = "qcom,pm660-regulators", .data = &pm660_regulators }, { .compatible = "qcom,pm660l-regulators", .data = &pm660l_regulators }, @@ -67,3 +69,6 @@ Signed-off-by: Mark Brown { .compatible = "qcom,pms405-regulators", .data = &pms405_regulators }, { } }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0035-v6.0-pinctrl-qcom-pmic-gpio-add-support-for-PMP8074.patch b/target/linux/ipq60xx/patches-5.15/0035-v6.0-pinctrl-qcom-pmic-gpio-add-support-for-PMP8074.patch index 565d0513c..aa63a15f9 100644 --- a/target/linux/ipq60xx/patches-5.15/0035-v6.0-pinctrl-qcom-pmic-gpio-add-support-for-PMP8074.patch +++ b/target/linux/ipq60xx/patches-5.15/0035-v6.0-pinctrl-qcom-pmic-gpio-add-support-for-PMP8074.patch @@ -12,9 +12,11 @@ Signed-off-by: Linus Walleij drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 2 ++ 1 file changed, 2 insertions(+) +diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c +index b2562e893139..fe1d3b260e27 100644 --- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c +++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c -@@ -1167,6 +1167,8 @@ static const struct of_device_id pmic_gp +@@ -1167,6 +1167,8 @@ static const struct of_device_id pmic_gpio_of_match[] = { { .compatible = "qcom,pmi8998-gpio", .data = (void *) 14 }, { .compatible = "qcom,pmk8350-gpio", .data = (void *) 4 }, { .compatible = "qcom,pmm8155au-gpio", .data = (void *) 10 }, @@ -23,3 +25,6 @@ Signed-off-by: Linus Walleij { .compatible = "qcom,pmr735a-gpio", .data = (void *) 4 }, { .compatible = "qcom,pmr735b-gpio", .data = (void *) 4 }, /* pms405 has 12 GPIOs with holes on 1, 9, and 10 */ +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0036-v5.16-mfd-qcom-spmi-pmic-Sort-compatibles-in-the-driver.patch b/target/linux/ipq60xx/patches-5.15/0036-v5.16-mfd-qcom-spmi-pmic-Sort-compatibles-in-the-driver.patch index bbfb22614..b2913a9d0 100644 --- a/target/linux/ipq60xx/patches-5.15/0036-v5.16-mfd-qcom-spmi-pmic-Sort-compatibles-in-the-driver.patch +++ b/target/linux/ipq60xx/patches-5.15/0036-v5.16-mfd-qcom-spmi-pmic-Sort-compatibles-in-the-driver.patch @@ -13,6 +13,8 @@ Link: https://lore.kernel.org/r/20211017161218.2378176-2-bjorn.andersson@linaro. drivers/mfd/qcom-spmi-pmic.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) +diff --git a/drivers/mfd/qcom-spmi-pmic.c b/drivers/mfd/qcom-spmi-pmic.c +index a35d5cf16faa..8be07102a468 100644 --- a/drivers/mfd/qcom-spmi-pmic.c +++ b/drivers/mfd/qcom-spmi-pmic.c @@ -40,27 +40,27 @@ @@ -58,3 +60,6 @@ Link: https://lore.kernel.org/r/20211017161218.2378176-2-bjorn.andersson@linaro. { } }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0037-v5.16-mfd-qcom-spmi-pmic-Add-missing-PMICs-supported-by-so.patch b/target/linux/ipq60xx/patches-5.15/0037-v5.16-mfd-qcom-spmi-pmic-Add-missing-PMICs-supported-by-so.patch index b7fa5d03a..19f6ec8ac 100644 --- a/target/linux/ipq60xx/patches-5.15/0037-v5.16-mfd-qcom-spmi-pmic-Add-missing-PMICs-supported-by-so.patch +++ b/target/linux/ipq60xx/patches-5.15/0037-v5.16-mfd-qcom-spmi-pmic-Add-missing-PMICs-supported-by-so.patch @@ -14,6 +14,8 @@ Link: https://lore.kernel.org/r/20211017161218.2378176-4-bjorn.andersson@linaro. drivers/mfd/qcom-spmi-pmic.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) +diff --git a/drivers/mfd/qcom-spmi-pmic.c b/drivers/mfd/qcom-spmi-pmic.c +index 8be07102a468..1cacc00aa6c9 100644 --- a/drivers/mfd/qcom-spmi-pmic.c +++ b/drivers/mfd/qcom-spmi-pmic.c @@ -31,6 +31,8 @@ @@ -39,7 +41,7 @@ Link: https://lore.kernel.org/r/20211017161218.2378176-4-bjorn.andersson@linaro. static const struct of_device_id pmic_spmi_id_table[] = { { .compatible = "qcom,pm660", .data = (void *)PM660_SUBTYPE }, -@@ -45,9 +54,15 @@ static const struct of_device_id pmic_sp +@@ -45,9 +54,15 @@ static const struct of_device_id pmic_spmi_id_table[] = { { .compatible = "qcom,pm8004", .data = (void *)PM8004_SUBTYPE }, { .compatible = "qcom,pm8005", .data = (void *)PM8005_SUBTYPE }, { .compatible = "qcom,pm8019", .data = (void *)PM8019_SUBTYPE }, @@ -55,7 +57,7 @@ Link: https://lore.kernel.org/r/20211017161218.2378176-4-bjorn.andersson@linaro. { .compatible = "qcom,pm8909", .data = (void *)PM8909_SUBTYPE }, { .compatible = "qcom,pm8916", .data = (void *)PM8916_SUBTYPE }, { .compatible = "qcom,pm8941", .data = (void *)PM8941_SUBTYPE }, -@@ -60,6 +75,8 @@ static const struct of_device_id pmic_sp +@@ -60,6 +75,8 @@ static const struct of_device_id pmic_spmi_id_table[] = { { .compatible = "qcom,pmi8962", .data = (void *)PMI8962_SUBTYPE }, { .compatible = "qcom,pmi8994", .data = (void *)PMI8994_SUBTYPE }, { .compatible = "qcom,pmi8998", .data = (void *)PMI8998_SUBTYPE }, @@ -64,3 +66,6 @@ Link: https://lore.kernel.org/r/20211017161218.2378176-4-bjorn.andersson@linaro. { .compatible = "qcom,spmi-pmic", .data = (void *)COMMON_SUBTYPE }, { } }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0038-v6.0-iio-adc-qcom-spmi-adc5-add-ADC5_VREF_VADC-to-rev2-AD.patch b/target/linux/ipq60xx/patches-5.15/0038-v6.0-iio-adc-qcom-spmi-adc5-add-ADC5_VREF_VADC-to-rev2-AD.patch index a619a291f..4efbdcbfe 100644 --- a/target/linux/ipq60xx/patches-5.15/0038-v6.0-iio-adc-qcom-spmi-adc5-add-ADC5_VREF_VADC-to-rev2-AD.patch +++ b/target/linux/ipq60xx/patches-5.15/0038-v6.0-iio-adc-qcom-spmi-adc5-add-ADC5_VREF_VADC-to-rev2-AD.patch @@ -14,9 +14,11 @@ Signed-off-by: Jonathan Cameron drivers/iio/adc/qcom-spmi-adc5.c | 2 ++ 1 file changed, 2 insertions(+) +diff --git a/drivers/iio/adc/qcom-spmi-adc5.c b/drivers/iio/adc/qcom-spmi-adc5.c +index 87438d1e5c0b..7bd3745884f0 100644 --- a/drivers/iio/adc/qcom-spmi-adc5.c +++ b/drivers/iio/adc/qcom-spmi-adc5.c -@@ -589,6 +589,8 @@ static const struct adc5_channels adc5_c +@@ -589,6 +589,8 @@ static const struct adc5_channels adc5_chans_rev2[ADC5_MAX_CHANNEL] = { SCALE_HW_CALIB_DEFAULT) [ADC5_1P25VREF] = ADC5_CHAN_VOLT("vref_1p25", 0, SCALE_HW_CALIB_DEFAULT) @@ -25,3 +27,6 @@ Signed-off-by: Jonathan Cameron [ADC5_VPH_PWR] = ADC5_CHAN_VOLT("vph_pwr", 1, SCALE_HW_CALIB_DEFAULT) [ADC5_VBAT_SNS] = ADC5_CHAN_VOLT("vbat_sns", 1, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0039-v6.0-phy-qcom-qmp-pcie-make-pipe-clock-rate-configurable.patch b/target/linux/ipq60xx/patches-5.15/0039-v6.0-phy-qcom-qmp-pcie-make-pipe-clock-rate-configurable.patch index 390dc52b0..ee9e6c862 100644 --- a/target/linux/ipq60xx/patches-5.15/0039-v6.0-phy-qcom-qmp-pcie-make-pipe-clock-rate-configurable.patch +++ b/target/linux/ipq60xx/patches-5.15/0039-v6.0-phy-qcom-qmp-pcie-make-pipe-clock-rate-configurable.patch @@ -15,6 +15,8 @@ Signed-off-by: Vinod Koul drivers/phy/qualcomm/phy-qcom-qmp.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) +diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c +index ed69d455ac0e..4a0e8dd9c97d 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -2842,6 +2842,9 @@ struct qmp_phy_cfg { @@ -27,7 +29,7 @@ Signed-off-by: Vinod Koul /* true, if PCS block has no separate SW_RESET register */ bool no_pcs_sw_reset; }; -@@ -5138,8 +5141,15 @@ static int phy_pipe_clk_register(struct +@@ -5138,8 +5141,15 @@ static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np) init.ops = &clk_fixed_rate_ops; @@ -45,3 +47,6 @@ Signed-off-by: Vinod Koul fixed->hw.init = &init; ret = devm_clk_hw_register(qmp->dev, &fixed->hw); +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0040-v6.0-phy-qcom-qmp-pcie-add-IPQ8074-PCIe-Gen3-QMP-PHY-supp.patch b/target/linux/ipq60xx/patches-5.15/0040-v6.0-phy-qcom-qmp-pcie-add-IPQ8074-PCIe-Gen3-QMP-PHY-supp.patch index 655d4d24a..86019d5eb 100644 --- a/target/linux/ipq60xx/patches-5.15/0040-v6.0-phy-qcom-qmp-pcie-add-IPQ8074-PCIe-Gen3-QMP-PHY-supp.patch +++ b/target/linux/ipq60xx/patches-5.15/0040-v6.0-phy-qcom-qmp-pcie-add-IPQ8074-PCIe-Gen3-QMP-PHY-supp.patch @@ -16,9 +16,11 @@ Signed-off-by: Vinod Koul drivers/phy/qualcomm/phy-qcom-qmp.c | 160 ++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) +diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c +index 4a0e8dd9c97d..0219a34f1047 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c -@@ -812,6 +812,133 @@ static const struct qmp_phy_init_tbl ipq +@@ -812,6 +812,133 @@ static const struct qmp_phy_init_tbl ipq8074_pcie_pcs_tbl[] = { QMP_PHY_INIT_CFG_L(QPHY_START_CTRL, 0x3), }; @@ -152,7 +154,7 @@ Signed-off-by: Vinod Koul static const struct qmp_phy_init_tbl sdm845_qmp_pcie_serdes_tbl[] = { QMP_PHY_INIT_CFG(QSERDES_V3_COM_BIAS_EN_CLKBUFLR_EN, 0x14), QMP_PHY_INIT_CFG(QSERDES_V3_COM_CLK_SELECT, 0x30), -@@ -3167,6 +3294,36 @@ static const struct qmp_phy_cfg ipq8074_ +@@ -3167,6 +3294,36 @@ static const struct qmp_phy_cfg ipq8074_pciephy_cfg = { .pwrdn_delay_max = 1005, /* us */ }; @@ -189,13 +191,16 @@ Signed-off-by: Vinod Koul static const struct qmp_phy_cfg ipq6018_pciephy_cfg = { .type = PHY_TYPE_PCIE, .nlanes = 1, -@@ -5543,6 +5700,9 @@ static const struct of_device_id qcom_qm +@@ -5542,6 +5699,9 @@ static const struct of_device_id qcom_qmp_phy_of_match_table[] = { + }, { .compatible = "qcom,ipq8074-qmp-pcie-phy", .data = &ipq8074_pciephy_cfg, - }, { ++ }, { + .compatible = "qcom,ipq8074-qmp-gen3-pcie-phy", + .data = &ipq8074_pciephy_gen3_cfg, -+ }, { + }, { .compatible = "qcom,ipq6018-qmp-pcie-phy", .data = &ipq6018_pciephy_cfg, - }, { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0041-v5.16-soc-qcom-socinfo-Add-IPQ8074-family-ID-s.patch b/target/linux/ipq60xx/patches-5.15/0041-v5.16-soc-qcom-socinfo-Add-IPQ8074-family-ID-s.patch index 085fab079..391930732 100644 --- a/target/linux/ipq60xx/patches-5.15/0041-v5.16-soc-qcom-socinfo-Add-IPQ8074-family-ID-s.patch +++ b/target/linux/ipq60xx/patches-5.15/0041-v5.16-soc-qcom-socinfo-Add-IPQ8074-family-ID-s.patch @@ -14,6 +14,8 @@ Link: https://lore.kernel.org/r/20210905171131.660885-1-robimarko@gmail.com drivers/soc/qcom/socinfo.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) +diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c +index 5beb452f2401..302a6a895c2f 100644 --- a/drivers/soc/qcom/socinfo.c +++ b/drivers/soc/qcom/socinfo.c @@ -281,19 +281,31 @@ static const struct soc_id soc_id[] = { @@ -48,3 +50,6 @@ Link: https://lore.kernel.org/r/20210905171131.660885-1-robimarko@gmail.com { 402, "IPQ6018" }, { 403, "IPQ6028" }, { 421, "IPQ6000" }, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0042-v6.0-PCI-dwc-tegra-move-GEN3_RELATED-DBI-register-to-comm.patch b/target/linux/ipq60xx/patches-5.15/0042-v6.0-PCI-dwc-tegra-move-GEN3_RELATED-DBI-register-to-comm.patch index 716e3a908..61f6f21c4 100644 --- a/target/linux/ipq60xx/patches-5.15/0042-v6.0-PCI-dwc-tegra-move-GEN3_RELATED-DBI-register-to-comm.patch +++ b/target/linux/ipq60xx/patches-5.15/0042-v6.0-PCI-dwc-tegra-move-GEN3_RELATED-DBI-register-to-comm.patch @@ -13,6 +13,8 @@ Signed-off-by: Baruch Siach drivers/pci/controller/dwc/pcie-tegra194.c | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) +diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h +index 7d6e9b7576be..ea87809ee298 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -74,6 +74,12 @@ @@ -28,6 +30,8 @@ Signed-off-by: Baruch Siach #define PCIE_PORT_MULTI_LANE_CTRL 0x8C0 #define PORT_MLTI_UPCFG_SUPPORT BIT(7) +diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c +index bdd84765e646..1381b00702fa 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -193,12 +193,6 @@ @@ -43,3 +47,6 @@ Signed-off-by: Baruch Siach #define PORT_LOGIC_AMBA_ERROR_RESPONSE_DEFAULT 0x8D0 #define AMBA_ERROR_RESPONSE_CRS_SHIFT 3 #define AMBA_ERROR_RESPONSE_CRS_MASK GENMASK(1, 0) +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0043-v6.0-PCI-qcom-Define-slot-capabilities-using-PCI_EXP_SLTC.patch b/target/linux/ipq60xx/patches-5.15/0043-v6.0-PCI-qcom-Define-slot-capabilities-using-PCI_EXP_SLTC.patch index d84839f2b..8e857a797 100644 --- a/target/linux/ipq60xx/patches-5.15/0043-v6.0-PCI-qcom-Define-slot-capabilities-using-PCI_EXP_SLTC.patch +++ b/target/linux/ipq60xx/patches-5.15/0043-v6.0-PCI-qcom-Define-slot-capabilities-using-PCI_EXP_SLTC.patch @@ -13,6 +13,8 @@ Signed-off-by: Baruch Siach drivers/pci/controller/dwc/pcie-qcom.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) +diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c +index 4c599699e3c8..f49de615c9c4 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -69,7 +69,18 @@ @@ -35,7 +37,7 @@ Signed-off-by: Baruch Siach #define PCIE20_PARF_Q2A_FLUSH 0x1AC -@@ -1125,7 +1136,7 @@ static int qcom_pcie_post_init_2_3_3(str +@@ -1125,7 +1136,7 @@ static int qcom_pcie_post_init_2_3_3(struct qcom_pcie *pcie) writel(PCI_COMMAND_MASTER, pci->dbi_base + PCI_COMMAND); writel(DBI_RO_WR_EN, pci->dbi_base + PCIE20_MISC_CONTROL_1_REG); @@ -44,3 +46,6 @@ Signed-off-by: Baruch Siach val = readl(pci->dbi_base + offset + PCI_EXP_LNKCAP); val &= ~PCI_EXP_LNKCAP_ASPMS; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0044-v6.0-PCI-qcom-Add-IPQ60xx-support.patch b/target/linux/ipq60xx/patches-5.15/0044-v6.0-PCI-qcom-Add-IPQ60xx-support.patch index 93bec2f04..a5ec337c8 100644 --- a/target/linux/ipq60xx/patches-5.15/0044-v6.0-PCI-qcom-Add-IPQ60xx-support.patch +++ b/target/linux/ipq60xx/patches-5.15/0044-v6.0-PCI-qcom-Add-IPQ60xx-support.patch @@ -21,6 +21,8 @@ Signed-off-by: Baruch Siach drivers/pci/controller/dwc/pcie-qcom.c | 135 +++++++++++++++++++ 2 files changed, 136 insertions(+) +diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h +index ea87809ee298..279c3778a13b 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -76,6 +76,7 @@ @@ -31,6 +33,8 @@ Signed-off-by: Baruch Siach #define GEN3_RELATED_OFF_GEN3_EQ_DISABLE BIT(16) #define GEN3_RELATED_OFF_RATE_SHADOW_SEL_SHIFT 24 #define GEN3_RELATED_OFF_RATE_SHADOW_SEL_MASK GENMASK(25, 24) +diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c +index f49de615c9c4..f50de3408add 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -52,6 +52,10 @@ @@ -64,7 +68,7 @@ Signed-off-by: Baruch Siach }; struct qcom_pcie; -@@ -1276,6 +1286,121 @@ static void qcom_pcie_post_deinit_2_7_0( +@@ -1276,6 +1286,121 @@ static void qcom_pcie_post_deinit_2_7_0(struct qcom_pcie *pcie) clk_disable_unprepare(res->pipe_clk); } @@ -186,7 +190,7 @@ Signed-off-by: Baruch Siach static int qcom_pcie_link_up(struct dw_pcie *pci) { u16 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); -@@ -1467,6 +1592,15 @@ static const struct qcom_pcie_ops ops_1_ +@@ -1467,6 +1592,15 @@ static const struct qcom_pcie_ops ops_1_9_0 = { .config_sid = qcom_pcie_config_sid_sm8250, }; @@ -202,7 +206,7 @@ Signed-off-by: Baruch Siach static const struct dw_pcie_ops dw_pcie_ops = { .link_up = qcom_pcie_link_up, .start_link = qcom_pcie_start_link, -@@ -1565,6 +1699,7 @@ static const struct of_device_id qcom_pc +@@ -1565,6 +1699,7 @@ static const struct of_device_id qcom_pcie_match[] = { { .compatible = "qcom,pcie-qcs404", .data = &ops_2_4_0 }, { .compatible = "qcom,pcie-sdm845", .data = &ops_2_7_0 }, { .compatible = "qcom,pcie-sm8250", .data = &ops_1_9_0 }, @@ -210,3 +214,6 @@ Signed-off-by: Baruch Siach { } }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0100-arm64-dts-ipq8074-add-reserved-memory-nodes.patch b/target/linux/ipq60xx/patches-5.15/0100-arm64-dts-ipq8074-add-reserved-memory-nodes.patch index 314db03b2..225b84c1d 100644 --- a/target/linux/ipq60xx/patches-5.15/0100-arm64-dts-ipq8074-add-reserved-memory-nodes.patch +++ b/target/linux/ipq60xx/patches-5.15/0100-arm64-dts-ipq8074-add-reserved-memory-nodes.patch @@ -17,9 +17,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index d53675fc1595..5985dfff073d 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -85,6 +85,26 @@ +@@ -85,6 +85,26 @@ reserved-memory { #size-cells = <2>; ranges; @@ -46,7 +48,7 @@ Signed-off-by: Robert Marko smem@4ab00000 { compatible = "qcom,smem"; reg = <0x0 0x4ab00000 0x0 0x00100000>; -@@ -97,6 +117,21 @@ +@@ -97,6 +117,21 @@ memory@4ac00000 { no-map; reg = <0x0 0x4ac00000 0x0 0x00400000>; }; @@ -68,3 +70,6 @@ Signed-off-by: Robert Marko }; firmware { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0101-clk-qcom-clk-rcg2-add-rcg2-mux-ops.patch b/target/linux/ipq60xx/patches-5.15/0101-clk-qcom-clk-rcg2-add-rcg2-mux-ops.patch index 6e210c430..2a991eced 100644 --- a/target/linux/ipq60xx/patches-5.15/0101-clk-qcom-clk-rcg2-add-rcg2-mux-ops.patch +++ b/target/linux/ipq60xx/patches-5.15/0101-clk-qcom-clk-rcg2-add-rcg2-mux-ops.patch @@ -21,6 +21,8 @@ Reviewed-by: Dmitry Baryshkov drivers/clk/qcom/clk-rcg2.c | 7 +++++++ 2 files changed, 8 insertions(+) +diff --git a/drivers/clk/qcom/clk-rcg.h b/drivers/clk/qcom/clk-rcg.h +index 99efcc7f8d88..248115a018bc 100644 --- a/drivers/clk/qcom/clk-rcg.h +++ b/drivers/clk/qcom/clk-rcg.h @@ -164,6 +164,7 @@ struct clk_rcg2_gfx3d { @@ -31,9 +33,11 @@ Reviewed-by: Dmitry Baryshkov extern const struct clk_ops clk_edp_pixel_ops; extern const struct clk_ops clk_byte_ops; extern const struct clk_ops clk_byte2_ops; +diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c +index c3823cc32edc..fdbbda1f2ba4 100644 --- a/drivers/clk/qcom/clk-rcg2.c +++ b/drivers/clk/qcom/clk-rcg2.c -@@ -477,6 +477,13 @@ const struct clk_ops clk_rcg2_floor_ops +@@ -477,6 +477,13 @@ const struct clk_ops clk_rcg2_floor_ops = { }; EXPORT_SYMBOL_GPL(clk_rcg2_floor_ops); @@ -47,3 +51,6 @@ Reviewed-by: Dmitry Baryshkov struct frac_entry { int num; int den; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0102-clk-qcom-apss-ipq6018-fix-apcs_alias0_clk_src.patch b/target/linux/ipq60xx/patches-5.15/0102-clk-qcom-apss-ipq6018-fix-apcs_alias0_clk_src.patch index 9f05a72f1..301a04101 100644 --- a/target/linux/ipq60xx/patches-5.15/0102-clk-qcom-apss-ipq6018-fix-apcs_alias0_clk_src.patch +++ b/target/linux/ipq60xx/patches-5.15/0102-clk-qcom-apss-ipq6018-fix-apcs_alias0_clk_src.patch @@ -26,6 +26,8 @@ Reviewed-by: Dmitry Baryshkov drivers/clk/qcom/apss-ipq6018.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) +diff --git a/drivers/clk/qcom/apss-ipq6018.c b/drivers/clk/qcom/apss-ipq6018.c +index d78ff2f310bf..be952d417ded 100644 --- a/drivers/clk/qcom/apss-ipq6018.c +++ b/drivers/clk/qcom/apss-ipq6018.c @@ -16,7 +16,7 @@ @@ -37,7 +39,7 @@ Reviewed-by: Dmitry Baryshkov enum { P_XO, -@@ -33,16 +33,15 @@ static const struct parent_map parents_a +@@ -33,16 +33,15 @@ static const struct parent_map parents_apcs_alias0_clk_src_map[] = { { P_APSS_PLL_EARLY, 5 }, }; @@ -59,3 +61,6 @@ Reviewed-by: Dmitry Baryshkov .flags = CLK_SET_RATE_PARENT, }, }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0103-clk-qcom-apss-ipq6018-mark-apcs_alias0_core_clk-as-c.patch b/target/linux/ipq60xx/patches-5.15/0103-clk-qcom-apss-ipq6018-mark-apcs_alias0_core_clk-as-c.patch index 9753993c2..9fb3cd41f 100644 --- a/target/linux/ipq60xx/patches-5.15/0103-clk-qcom-apss-ipq6018-mark-apcs_alias0_core_clk-as-c.patch +++ b/target/linux/ipq60xx/patches-5.15/0103-clk-qcom-apss-ipq6018-mark-apcs_alias0_core_clk-as-c.patch @@ -18,9 +18,11 @@ Reviewed-by: Dmitry Baryshkov drivers/clk/qcom/apss-ipq6018.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/drivers/clk/qcom/apss-ipq6018.c b/drivers/clk/qcom/apss-ipq6018.c +index be952d417ded..f2f502e2d5a4 100644 --- a/drivers/clk/qcom/apss-ipq6018.c +++ b/drivers/clk/qcom/apss-ipq6018.c -@@ -56,7 +56,7 @@ static struct clk_branch apcs_alias0_cor +@@ -56,7 +56,7 @@ static struct clk_branch apcs_alias0_core_clk = { .parent_hws = (const struct clk_hw *[]){ &apcs_alias0_clk_src.clkr.hw }, .num_parents = 1, @@ -29,3 +31,6 @@ Reviewed-by: Dmitry Baryshkov .ops = &clk_branch2_ops, }, }, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0104-clk-qcom-apss-ipq-pll-use-OF-match-data-for-Alpha-PL.patch b/target/linux/ipq60xx/patches-5.15/0104-clk-qcom-apss-ipq-pll-use-OF-match-data-for-Alpha-PL.patch index 18ba654a0..6de4a4223 100644 --- a/target/linux/ipq60xx/patches-5.15/0104-clk-qcom-apss-ipq-pll-use-OF-match-data-for-Alpha-PL.patch +++ b/target/linux/ipq60xx/patches-5.15/0104-clk-qcom-apss-ipq-pll-use-OF-match-data-for-Alpha-PL.patch @@ -17,6 +17,8 @@ Signed-off-by: Robert Marko drivers/clk/qcom/apss-ipq-pll.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) +diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c +index bef7899ad0d6..ba77749b16c4 100644 --- a/drivers/clk/qcom/apss-ipq-pll.c +++ b/drivers/clk/qcom/apss-ipq-pll.c @@ -2,6 +2,7 @@ @@ -36,7 +38,7 @@ Signed-off-by: Robert Marko .l = 0x37, .config_ctl_val = 0x04141200, .config_ctl_hi_val = 0x0, -@@ -54,6 +55,7 @@ static const struct regmap_config ipq_pl +@@ -54,6 +55,7 @@ static const struct regmap_config ipq_pll_regmap_config = { static int apss_ipq_pll_probe(struct platform_device *pdev) { @@ -44,7 +46,7 @@ Signed-off-by: Robert Marko struct device *dev = &pdev->dev; struct regmap *regmap; void __iomem *base; -@@ -67,7 +69,11 @@ static int apss_ipq_pll_probe(struct pla +@@ -67,7 +69,11 @@ static int apss_ipq_pll_probe(struct platform_device *pdev) if (IS_ERR(regmap)) return PTR_ERR(regmap); @@ -57,7 +59,7 @@ Signed-off-by: Robert Marko ret = devm_clk_register_regmap(dev, &ipq_pll.clkr); if (ret) -@@ -78,7 +84,7 @@ static int apss_ipq_pll_probe(struct pla +@@ -78,7 +84,7 @@ static int apss_ipq_pll_probe(struct platform_device *pdev) } static const struct of_device_id apss_ipq_pll_match_table[] = { @@ -66,3 +68,6 @@ Signed-off-by: Robert Marko { } }; MODULE_DEVICE_TABLE(of, apss_ipq_pll_match_table); +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0105-clk-qcom-apss-ipq-pll-update-IPQ6018-Alpha-PLL-confi.patch b/target/linux/ipq60xx/patches-5.15/0105-clk-qcom-apss-ipq-pll-update-IPQ6018-Alpha-PLL-confi.patch index 6a84c13cc..46854e53c 100644 --- a/target/linux/ipq60xx/patches-5.15/0105-clk-qcom-apss-ipq-pll-update-IPQ6018-Alpha-PLL-confi.patch +++ b/target/linux/ipq60xx/patches-5.15/0105-clk-qcom-apss-ipq-pll-update-IPQ6018-Alpha-PLL-confi.patch @@ -17,6 +17,8 @@ Signed-off-by: Robert Marko drivers/clk/qcom/apss-ipq-pll.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) +diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c +index ba77749b16c4..a4016f3854c2 100644 --- a/drivers/clk/qcom/apss-ipq-pll.c +++ b/drivers/clk/qcom/apss-ipq-pll.c @@ -39,10 +39,14 @@ static struct clk_alpha_pll ipq_pll = { @@ -36,3 +38,6 @@ Signed-off-by: Robert Marko }; static const struct regmap_config ipq_pll_regmap_config = { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0106-clk-qcom-apss-ipq-pll-add-support-for-IPQ8074.patch b/target/linux/ipq60xx/patches-5.15/0106-clk-qcom-apss-ipq-pll-add-support-for-IPQ8074.patch index f59ce60c8..0e5fdddb4 100644 --- a/target/linux/ipq60xx/patches-5.15/0106-clk-qcom-apss-ipq-pll-add-support-for-IPQ8074.patch +++ b/target/linux/ipq60xx/patches-5.15/0106-clk-qcom-apss-ipq-pll-add-support-for-IPQ8074.patch @@ -20,9 +20,11 @@ utilize match data provided by previous commit drivers/clk/qcom/apss-ipq-pll.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) +diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c +index a4016f3854c2..a5aea27eb867 100644 --- a/drivers/clk/qcom/apss-ipq-pll.c +++ b/drivers/clk/qcom/apss-ipq-pll.c -@@ -49,6 +49,18 @@ static const struct alpha_pll_config ipq +@@ -49,6 +49,18 @@ static const struct alpha_pll_config ipq6018_pll_config = { .test_ctl_hi_val = 0x4000, }; @@ -41,7 +43,7 @@ utilize match data provided by previous commit static const struct regmap_config ipq_pll_regmap_config = { .reg_bits = 32, .reg_stride = 4, -@@ -89,6 +101,7 @@ static int apss_ipq_pll_probe(struct pla +@@ -89,6 +101,7 @@ static int apss_ipq_pll_probe(struct platform_device *pdev) static const struct of_device_id apss_ipq_pll_match_table[] = { { .compatible = "qcom,ipq6018-a53pll", .data = &ipq6018_pll_config }, @@ -49,3 +51,6 @@ utilize match data provided by previous commit { } }; MODULE_DEVICE_TABLE(of, apss_ipq_pll_match_table); +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0107-arm64-dts-qcom-ipq8074-correct-APCS-register-space-s.patch b/target/linux/ipq60xx/patches-5.15/0107-arm64-dts-qcom-ipq8074-correct-APCS-register-space-s.patch index 01a4acc9a..8bf69e7e2 100644 --- a/target/linux/ipq60xx/patches-5.15/0107-arm64-dts-qcom-ipq8074-correct-APCS-register-space-s.patch +++ b/target/linux/ipq60xx/patches-5.15/0107-arm64-dts-qcom-ipq8074-correct-APCS-register-space-s.patch @@ -18,9 +18,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 5985dfff073d..5b62d7590fc6 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -703,7 +703,7 @@ +@@ -703,7 +703,7 @@ watchdog: watchdog@b017000 { apcs_glb: mailbox@b111000 { compatible = "qcom,ipq8074-apcs-apps-global"; @@ -29,3 +31,6 @@ Signed-off-by: Robert Marko #clock-cells = <1>; #mbox-cells = <1>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0108-arm64-dts-qcom-ipq8074-add-A53-PLL-node.patch b/target/linux/ipq60xx/patches-5.15/0108-arm64-dts-qcom-ipq8074-add-A53-PLL-node.patch index fbbe3fd97..25b02e3e3 100644 --- a/target/linux/ipq60xx/patches-5.15/0108-arm64-dts-qcom-ipq8074-add-A53-PLL-node.patch +++ b/target/linux/ipq60xx/patches-5.15/0108-arm64-dts-qcom-ipq8074-add-A53-PLL-node.patch @@ -11,9 +11,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 5b62d7590fc6..bace14b742a1 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -709,6 +709,14 @@ +@@ -709,6 +709,14 @@ apcs_glb: mailbox@b111000 { #mbox-cells = <1>; }; @@ -28,3 +30,6 @@ Signed-off-by: Robert Marko timer@b120000 { #address-cells = <1>; #size-cells = <1>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0109-mailbox-qcom-apcs-ipc-add-IPQ8074-APSS-clock-support.patch b/target/linux/ipq60xx/patches-5.15/0109-mailbox-qcom-apcs-ipc-add-IPQ8074-APSS-clock-support.patch index 32a9faafe..a7899dd1c 100644 --- a/target/linux/ipq60xx/patches-5.15/0109-mailbox-qcom-apcs-ipc-add-IPQ8074-APSS-clock-support.patch +++ b/target/linux/ipq60xx/patches-5.15/0109-mailbox-qcom-apcs-ipc-add-IPQ8074-APSS-clock-support.patch @@ -26,9 +26,11 @@ Changes in v5: drivers/mailbox/qcom-apcs-ipc-mailbox.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) +diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c +index 82ccfaf14b24..0d8d1b17ba45 100644 --- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c +++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c -@@ -33,10 +33,6 @@ static const struct qcom_apcs_ipc_data i +@@ -33,10 +33,6 @@ static const struct qcom_apcs_ipc_data ipq6018_apcs_data = { .offset = 8, .clk_name = "qcom,apss-ipq6018-clk" }; @@ -39,7 +41,7 @@ Changes in v5: static const struct qcom_apcs_ipc_data msm8916_apcs_data = { .offset = 8, .clk_name = "qcom-apcs-msm8916-clk" }; -@@ -160,7 +156,7 @@ static int qcom_apcs_ipc_remove(struct p +@@ -160,7 +156,7 @@ static int qcom_apcs_ipc_remove(struct platform_device *pdev) /* .data is the offset of the ipc register within the global block */ static const struct of_device_id qcom_apcs_ipc_of_match[] = { { .compatible = "qcom,ipq6018-apcs-apps-global", .data = &ipq6018_apcs_data }, @@ -48,3 +50,6 @@ Changes in v5: { .compatible = "qcom,msm8916-apcs-kpss-global", .data = &msm8916_apcs_data }, { .compatible = "qcom,msm8939-apcs-kpss-global", .data = &msm8916_apcs_data }, { .compatible = "qcom,msm8953-apcs-kpss-global", .data = &msm8994_apcs_data }, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0110-arm64-dts-qcom-ipq8074-add-clocks-to-APCS.patch b/target/linux/ipq60xx/patches-5.15/0110-arm64-dts-qcom-ipq8074-add-clocks-to-APCS.patch index 70f8da091..331b3c79a 100644 --- a/target/linux/ipq60xx/patches-5.15/0110-arm64-dts-qcom-ipq8074-add-clocks-to-APCS.patch +++ b/target/linux/ipq60xx/patches-5.15/0110-arm64-dts-qcom-ipq8074-add-clocks-to-APCS.patch @@ -14,9 +14,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index bace14b742a1..7d4ff7d8a239 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -704,8 +704,9 @@ +@@ -704,8 +704,9 @@ watchdog: watchdog@b017000 { apcs_glb: mailbox@b111000 { compatible = "qcom,ipq8074-apcs-apps-global"; reg = <0x0b111000 0x1000>; @@ -27,3 +29,6 @@ Signed-off-by: Robert Marko #mbox-cells = <1>; }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0111-PCI-qcom-add-IPQ8074-Gen3-support.patch b/target/linux/ipq60xx/patches-5.15/0111-PCI-qcom-add-IPQ8074-Gen3-support.patch index 3a3c5b84a..afa76389e 100644 --- a/target/linux/ipq60xx/patches-5.15/0111-PCI-qcom-add-IPQ8074-Gen3-support.patch +++ b/target/linux/ipq60xx/patches-5.15/0111-PCI-qcom-add-IPQ8074-Gen3-support.patch @@ -11,6 +11,8 @@ Signed-off-by: Robert Marko drivers/pci/controller/dwc/pcie-qcom.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) +diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c +index f50de3408add..5aec3510b5c9 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -184,7 +184,7 @@ struct qcom_pcie_resources_2_7_0 { @@ -22,7 +24,7 @@ Signed-off-by: Robert Marko struct reset_control *rst; }; -@@ -1296,8 +1296,10 @@ static int qcom_pcie_get_resources_2_9_0 +@@ -1296,8 +1296,10 @@ static int qcom_pcie_get_resources_2_9_0(struct qcom_pcie *pcie) res->clks[0].id = "iface"; res->clks[1].id = "axi_m"; res->clks[2].id = "axi_s"; @@ -35,7 +37,7 @@ Signed-off-by: Robert Marko ret = devm_clk_bulk_get(dev, ARRAY_SIZE(res->clks), res->clks); if (ret < 0) -@@ -1700,6 +1702,7 @@ static const struct of_device_id qcom_pc +@@ -1700,6 +1702,7 @@ static const struct of_device_id qcom_pcie_match[] = { { .compatible = "qcom,pcie-sdm845", .data = &ops_2_7_0 }, { .compatible = "qcom,pcie-sm8250", .data = &ops_1_9_0 }, { .compatible = "qcom,pcie-ipq6018", .data = &ops_2_9_0 }, @@ -43,3 +45,6 @@ Signed-off-by: Robert Marko { } }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0112-arm64-dts-ipq8074-fix-PCI-related-DT-nodes.patch b/target/linux/ipq60xx/patches-5.15/0112-arm64-dts-ipq8074-fix-PCI-related-DT-nodes.patch index fa31c462f..9f2aa643e 100644 --- a/target/linux/ipq60xx/patches-5.15/0112-arm64-dts-ipq8074-fix-PCI-related-DT-nodes.patch +++ b/target/linux/ipq60xx/patches-5.15/0112-arm64-dts-ipq8074-fix-PCI-related-DT-nodes.patch @@ -14,9 +14,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 93 +++++++++++++++------------ 1 file changed, 52 insertions(+), 41 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 7d4ff7d8a239..019c8e302273 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -232,59 +232,61 @@ +@@ -232,59 +232,61 @@ qusb_phy_0: phy@79000 { status = "disabled"; }; @@ -98,7 +100,7 @@ Signed-off-by: Robert Marko }; }; -@@ -686,7 +688,7 @@ +@@ -686,7 +688,7 @@ intc: interrupt-controller@b000000 { reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>; ranges = <0 0xb00a000 0xffd>; @@ -107,7 +109,7 @@ Signed-off-by: Robert Marko compatible = "arm,gic-v2m-frame"; msi-controller; reg = <0x0 0xffd>; -@@ -787,6 +789,7 @@ +@@ -787,6 +789,7 @@ pcie1: pci@10000000 { linux,pci-domain = <1>; bus-range = <0x00 0xff>; num-lanes = <1>; @@ -115,7 +117,7 @@ Signed-off-by: Robert Marko #address-cells = <3>; #size-cells = <2>; -@@ -794,12 +797,12 @@ +@@ -794,12 +797,12 @@ pcie1: pci@10000000 { phy-names = "pciephy"; ranges = <0x81000000 0 0x10200000 0x10200000 @@ -133,7 +135,7 @@ Signed-off-by: Robert Marko #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 0x7>; interrupt-map = <0 0 0 1 &intc 0 142 -@@ -839,16 +842,18 @@ +@@ -839,16 +842,18 @@ IRQ_TYPE_LEVEL_HIGH>, /* int_c */ }; pcie0: pci@20000000 { @@ -158,7 +160,7 @@ Signed-off-by: Robert Marko #address-cells = <3>; #size-cells = <2>; -@@ -856,12 +861,12 @@ +@@ -856,12 +861,12 @@ pcie0: pci@20000000 { phy-names = "pciephy"; ranges = <0x81000000 0 0x20200000 0x20200000 @@ -176,7 +178,7 @@ Signed-off-by: Robert Marko #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 0x7>; interrupt-map = <0 0 0 1 &intc 0 75 -@@ -877,27 +882,33 @@ +@@ -877,27 +882,33 @@ IRQ_TYPE_LEVEL_HIGH>, /* int_c */ <&gcc GCC_PCIE0_AXI_M_CLK>, <&gcc GCC_PCIE0_AXI_S_CLK>, <&gcc GCC_PCIE0_AHB_CLK>, @@ -214,3 +216,6 @@ Signed-off-by: Robert Marko status = "disabled"; }; }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0113-remoteproc-qcom-Add-PRNG-proxy-clock.patch b/target/linux/ipq60xx/patches-5.15/0113-remoteproc-qcom-Add-PRNG-proxy-clock.patch index 2a12cec48..8251f71d4 100644 --- a/target/linux/ipq60xx/patches-5.15/0113-remoteproc-qcom-Add-PRNG-proxy-clock.patch +++ b/target/linux/ipq60xx/patches-5.15/0113-remoteproc-qcom-Add-PRNG-proxy-clock.patch @@ -13,6 +13,8 @@ Signed-off-by: Nikhil Prakash V drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 18 deletions(-) +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index 20d50ec7eff1..0e5484020296 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -91,19 +91,6 @@ enum { @@ -65,7 +67,7 @@ Signed-off-by: Nikhil Prakash V static int q6v5_wcss_reset(struct q6v5_wcss *wcss) { int ret; -@@ -240,6 +243,12 @@ static int q6v5_wcss_start(struct rproc +@@ -240,6 +243,12 @@ static int q6v5_wcss_start(struct rproc *rproc) struct q6v5_wcss *wcss = rproc->priv; int ret; @@ -78,7 +80,7 @@ Signed-off-by: Nikhil Prakash V qcom_q6v5_prepare(&wcss->q6v5); /* Release Q6 and WCSS reset */ -@@ -732,6 +741,7 @@ static int q6v5_wcss_stop(struct rproc * +@@ -732,6 +741,7 @@ static int q6v5_wcss_stop(struct rproc *rproc) return ret; } @@ -86,7 +88,7 @@ Signed-off-by: Nikhil Prakash V qcom_q6v5_unprepare(&wcss->q6v5); return 0; -@@ -896,7 +906,21 @@ static int q6v5_alloc_memory_region(stru +@@ -896,7 +906,21 @@ static int q6v5_alloc_memory_region(struct q6v5_wcss *wcss) return 0; } @@ -109,7 +111,7 @@ Signed-off-by: Nikhil Prakash V { int ret; -@@ -986,7 +1010,7 @@ static int q6v5_wcss_init_clock(struct q +@@ -986,7 +1010,7 @@ static int q6v5_wcss_init_clock(struct q6v5_wcss *wcss) return 0; } @@ -118,7 +120,7 @@ Signed-off-by: Nikhil Prakash V { wcss->cx_supply = devm_regulator_get(wcss->dev, "cx"); if (IS_ERR(wcss->cx_supply)) -@@ -1030,12 +1054,14 @@ static int q6v5_wcss_probe(struct platfo +@@ -1030,12 +1054,14 @@ static int q6v5_wcss_probe(struct platform_device *pdev) if (ret) goto free_rproc; @@ -136,7 +138,7 @@ Signed-off-by: Nikhil Prakash V if (ret) goto free_rproc; } -@@ -1082,6 +1108,7 @@ static int q6v5_wcss_remove(struct platf +@@ -1082,6 +1108,7 @@ static int q6v5_wcss_remove(struct platform_device *pdev) } static const struct wcss_data wcss_ipq8074_res_init = { @@ -144,7 +146,7 @@ Signed-off-by: Nikhil Prakash V .firmware_name = "IPQ8074/q6_fw.mdt", .crash_reason_smem = WCSS_CRASH_REASON, .aon_reset_required = true, -@@ -1091,6 +1118,8 @@ static const struct wcss_data wcss_ipq80 +@@ -1091,6 +1118,8 @@ static const struct wcss_data wcss_ipq8074_res_init = { }; static const struct wcss_data wcss_qcs404_res_init = { @@ -153,3 +155,6 @@ Signed-off-by: Nikhil Prakash V .crash_reason_smem = WCSS_CRASH_REASON, .firmware_name = "wcnss.mdt", .version = WCSS_QCS404, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0114-remoteproc-qcom-Add-secure-PIL-support.patch b/target/linux/ipq60xx/patches-5.15/0114-remoteproc-qcom-Add-secure-PIL-support.patch index 7f466b45e..ac329d847 100644 --- a/target/linux/ipq60xx/patches-5.15/0114-remoteproc-qcom-Add-secure-PIL-support.patch +++ b/target/linux/ipq60xx/patches-5.15/0114-remoteproc-qcom-Add-secure-PIL-support.patch @@ -12,6 +12,8 @@ Signed-off-by: Nikhil Prakash V drivers/remoteproc/qcom_q6v5_wcss.c | 43 +++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 3 deletions(-) +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index 0e5484020296..7d173b7816b8 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -18,6 +18,7 @@ @@ -48,7 +50,7 @@ Signed-off-by: Nikhil Prakash V }; static int q6v5_wcss_reset(struct q6v5_wcss *wcss) -@@ -251,6 +257,15 @@ static int q6v5_wcss_start(struct rproc +@@ -251,6 +257,15 @@ static int q6v5_wcss_start(struct rproc *rproc) qcom_q6v5_prepare(&wcss->q6v5); @@ -64,7 +66,7 @@ Signed-off-by: Nikhil Prakash V /* Release Q6 and WCSS reset */ ret = reset_control_deassert(wcss->wcss_reset); if (ret) { -@@ -285,6 +300,7 @@ static int q6v5_wcss_start(struct rproc +@@ -285,6 +300,7 @@ static int q6v5_wcss_start(struct rproc *rproc) if (ret) goto wcss_q6_reset; @@ -72,7 +74,7 @@ Signed-off-by: Nikhil Prakash V ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ); if (ret == -ETIMEDOUT) dev_err(wcss->dev, "start timed out\n"); -@@ -717,6 +733,15 @@ static int q6v5_wcss_stop(struct rproc * +@@ -717,6 +733,15 @@ static int q6v5_wcss_stop(struct rproc *rproc) struct q6v5_wcss *wcss = rproc->priv; int ret; @@ -88,7 +90,7 @@ Signed-off-by: Nikhil Prakash V /* WCSS powerdown */ if (wcss->requires_force_stop) { ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL); -@@ -741,6 +766,7 @@ static int q6v5_wcss_stop(struct rproc * +@@ -741,6 +766,7 @@ static int q6v5_wcss_stop(struct rproc *rproc) return ret; } @@ -96,7 +98,7 @@ Signed-off-by: Nikhil Prakash V clk_disable_unprepare(wcss->prng_clk); qcom_q6v5_unprepare(&wcss->q6v5); -@@ -764,9 +790,15 @@ static int q6v5_wcss_load(struct rproc * +@@ -764,9 +790,15 @@ static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw) struct q6v5_wcss *wcss = rproc->priv; int ret; @@ -115,7 +117,7 @@ Signed-off-by: Nikhil Prakash V if (ret) return ret; -@@ -1032,6 +1064,9 @@ static int q6v5_wcss_probe(struct platfo +@@ -1032,6 +1064,9 @@ static int q6v5_wcss_probe(struct platform_device *pdev) if (!desc) return -EINVAL; @@ -125,7 +127,7 @@ Signed-off-by: Nikhil Prakash V rproc = rproc_alloc(&pdev->dev, pdev->name, desc->ops, desc->firmware_name, sizeof(*wcss)); if (!rproc) { -@@ -1045,6 +1080,7 @@ static int q6v5_wcss_probe(struct platfo +@@ -1045,6 +1080,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev) wcss->version = desc->version; wcss->requires_force_stop = desc->requires_force_stop; @@ -133,7 +135,7 @@ Signed-off-by: Nikhil Prakash V ret = q6v5_wcss_init_mmio(wcss, pdev); if (ret) -@@ -1115,6 +1151,7 @@ static const struct wcss_data wcss_ipq80 +@@ -1115,6 +1151,7 @@ static const struct wcss_data wcss_ipq8074_res_init = { .wcss_q6_reset_required = true, .ops = &q6v5_wcss_ipq8074_ops, .requires_force_stop = true, @@ -141,3 +143,6 @@ Signed-off-by: Nikhil Prakash V }; static const struct wcss_data wcss_qcs404_res_init = { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0115-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch b/target/linux/ipq60xx/patches-5.15/0115-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch index 86b9c514f..20e7295b7 100644 --- a/target/linux/ipq60xx/patches-5.15/0115-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch +++ b/target/linux/ipq60xx/patches-5.15/0115-remoteproc-qcom-Add-support-for-split-q6-m3-wlan-fir.patch @@ -16,6 +16,8 @@ Signed-off-by: Nikhil Prakash V drivers/remoteproc/qcom_q6v5_wcss.c | 33 +++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index 7d173b7816b8..60ed0c046693 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -139,6 +139,7 @@ struct q6v5_wcss { @@ -36,7 +38,7 @@ Signed-off-by: Nikhil Prakash V unsigned int crash_reason_smem; u32 version; bool aon_reset_required; -@@ -788,8 +790,29 @@ static void *q6v5_wcss_da_to_va(struct r +@@ -788,8 +790,29 @@ static void *q6v5_wcss_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *i static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw) { struct q6v5_wcss *wcss = rproc->priv; @@ -66,7 +68,7 @@ Signed-off-by: Nikhil Prakash V if (wcss->need_mem_protection) ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware, WCNSS_PAS_ID, wcss->mem_region, -@@ -1068,7 +1091,7 @@ static int q6v5_wcss_probe(struct platfo +@@ -1068,7 +1091,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev) return -EPROBE_DEFER; rproc = rproc_alloc(&pdev->dev, pdev->name, desc->ops, @@ -75,7 +77,7 @@ Signed-off-by: Nikhil Prakash V if (!rproc) { dev_err(&pdev->dev, "failed to allocate rproc\n"); return -ENOMEM; -@@ -1081,6 +1104,7 @@ static int q6v5_wcss_probe(struct platfo +@@ -1081,6 +1104,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev) wcss->version = desc->version; wcss->requires_force_stop = desc->requires_force_stop; wcss->need_mem_protection = desc->need_mem_protection; @@ -83,7 +85,7 @@ Signed-off-by: Nikhil Prakash V ret = q6v5_wcss_init_mmio(wcss, pdev); if (ret) -@@ -1145,7 +1169,8 @@ static int q6v5_wcss_remove(struct platf +@@ -1145,7 +1169,8 @@ static int q6v5_wcss_remove(struct platform_device *pdev) static const struct wcss_data wcss_ipq8074_res_init = { .init_clock = ipq8074_init_clock, @@ -93,7 +95,7 @@ Signed-off-by: Nikhil Prakash V .crash_reason_smem = WCSS_CRASH_REASON, .aon_reset_required = true, .wcss_q6_reset_required = true, -@@ -1158,7 +1183,7 @@ static const struct wcss_data wcss_qcs40 +@@ -1158,7 +1183,7 @@ static const struct wcss_data wcss_qcs404_res_init = { .init_clock = qcs404_init_clock, .init_regulator = qcs404_init_regulator, .crash_reason_smem = WCSS_CRASH_REASON, @@ -102,3 +104,6 @@ Signed-off-by: Nikhil Prakash V .version = WCSS_QCS404, .aon_reset_required = false, .wcss_q6_reset_required = false, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0116-remoteproc-qcom-Add-ssr-subdevice-identifier.patch b/target/linux/ipq60xx/patches-5.15/0116-remoteproc-qcom-Add-ssr-subdevice-identifier.patch index 53bafa82b..05c29d6bd 100644 --- a/target/linux/ipq60xx/patches-5.15/0116-remoteproc-qcom-Add-ssr-subdevice-identifier.patch +++ b/target/linux/ipq60xx/patches-5.15/0116-remoteproc-qcom-Add-ssr-subdevice-identifier.patch @@ -12,9 +12,11 @@ Signed-off-by: Nikhil Prakash V drivers/remoteproc/qcom_q6v5_wcss.c | 1 + 1 file changed, 1 insertion(+) +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index 60ed0c046693..e32efdc660d2 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c -@@ -1174,6 +1174,7 @@ static const struct wcss_data wcss_ipq80 +@@ -1174,6 +1174,7 @@ static const struct wcss_data wcss_ipq8074_res_init = { .crash_reason_smem = WCSS_CRASH_REASON, .aon_reset_required = true, .wcss_q6_reset_required = true, @@ -22,3 +24,6 @@ Signed-off-by: Nikhil Prakash V .ops = &q6v5_wcss_ipq8074_ops, .requires_force_stop = true, .need_mem_protection = true, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0117-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch b/target/linux/ipq60xx/patches-5.15/0117-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch index 243cfe7e0..c91e3817a 100644 --- a/target/linux/ipq60xx/patches-5.15/0117-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch +++ b/target/linux/ipq60xx/patches-5.15/0117-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch @@ -12,6 +12,8 @@ Signed-off-by: Sricharan R drivers/remoteproc/qcom_q6v5_wcss.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index e32efdc660d2..16fc5a33adaf 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -86,7 +86,7 @@ @@ -31,7 +33,7 @@ Signed-off-by: Sricharan R const char *ssr_name; const char *sysmon_name; int ssctl_id; -@@ -874,10 +875,13 @@ static int q6v5_wcss_init_reset(struct q +@@ -874,10 +875,13 @@ static int q6v5_wcss_init_reset(struct q6v5_wcss *wcss, } } @@ -49,7 +51,7 @@ Signed-off-by: Sricharan R } return 0; -@@ -925,9 +929,9 @@ static int q6v5_wcss_init_mmio(struct q6 +@@ -925,9 +929,9 @@ static int q6v5_wcss_init_mmio(struct q6v5_wcss *wcss, return -EINVAL; } @@ -62,7 +64,7 @@ Signed-off-by: Sricharan R return 0; } -@@ -1174,6 +1178,7 @@ static const struct wcss_data wcss_ipq80 +@@ -1174,6 +1178,7 @@ static const struct wcss_data wcss_ipq8074_res_init = { .crash_reason_smem = WCSS_CRASH_REASON, .aon_reset_required = true, .wcss_q6_reset_required = true, @@ -70,7 +72,7 @@ Signed-off-by: Sricharan R .ssr_name = "q6wcss", .ops = &q6v5_wcss_ipq8074_ops, .requires_force_stop = true, -@@ -1188,6 +1193,7 @@ static const struct wcss_data wcss_qcs40 +@@ -1188,6 +1193,7 @@ static const struct wcss_data wcss_qcs404_res_init = { .version = WCSS_QCS404, .aon_reset_required = false, .wcss_q6_reset_required = false, @@ -78,3 +80,6 @@ Signed-off-by: Sricharan R .ssr_name = "mpss", .sysmon_name = "wcnss", .ssctl_id = 0x12, +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0118-drivers-thermal-tsens-Add-support-for-combined-inter.patch b/target/linux/ipq60xx/patches-5.15/0118-drivers-thermal-tsens-Add-support-for-combined-inter.patch index 5260c528e..5b8c5e86a 100644 --- a/target/linux/ipq60xx/patches-5.15/0118-drivers-thermal-tsens-Add-support-for-combined-inter.patch +++ b/target/linux/ipq60xx/patches-5.15/0118-drivers-thermal-tsens-Add-support-for-combined-inter.patch @@ -23,9 +23,11 @@ Changes in v6: drivers/thermal/qcom/tsens.h | 2 ++ 6 files changed, 38 insertions(+), 6 deletions(-) +diff --git a/drivers/thermal/qcom/tsens-8960.c b/drivers/thermal/qcom/tsens-8960.c +index 67c1748cdf73..ee584e5b07e5 100644 --- a/drivers/thermal/qcom/tsens-8960.c +++ b/drivers/thermal/qcom/tsens-8960.c -@@ -269,6 +269,7 @@ static const struct tsens_ops ops_8960 = +@@ -269,6 +269,7 @@ static const struct tsens_ops ops_8960 = { static struct tsens_features tsens_8960_feat = { .ver_major = VER_0, .crit_int = 0, @@ -33,9 +35,11 @@ Changes in v6: .adc = 1, .srot_split = 0, .max_sensors = 11, +diff --git a/drivers/thermal/qcom/tsens-v0_1.c b/drivers/thermal/qcom/tsens-v0_1.c +index f136cb350238..6effb822bf3c 100644 --- a/drivers/thermal/qcom/tsens-v0_1.c +++ b/drivers/thermal/qcom/tsens-v0_1.c -@@ -539,6 +539,7 @@ static int calibrate_9607(struct tsens_p +@@ -539,6 +539,7 @@ static int calibrate_9607(struct tsens_priv *priv) static struct tsens_features tsens_v0_1_feat = { .ver_major = VER_0_1, .crit_int = 0, @@ -43,9 +47,11 @@ Changes in v6: .adc = 1, .srot_split = 1, .max_sensors = 11, +diff --git a/drivers/thermal/qcom/tsens-v1.c b/drivers/thermal/qcom/tsens-v1.c +index 573e261ccca7..a4f561a6e582 100644 --- a/drivers/thermal/qcom/tsens-v1.c +++ b/drivers/thermal/qcom/tsens-v1.c -@@ -302,6 +302,7 @@ static int calibrate_8976(struct tsens_p +@@ -302,6 +302,7 @@ static int calibrate_8976(struct tsens_priv *priv) static struct tsens_features tsens_v1_feat = { .ver_major = VER_1_X, .crit_int = 0, @@ -53,6 +59,8 @@ Changes in v6: .adc = 1, .srot_split = 1, .max_sensors = 11, +diff --git a/drivers/thermal/qcom/tsens-v2.c b/drivers/thermal/qcom/tsens-v2.c +index b293ed32174b..129cdb247381 100644 --- a/drivers/thermal/qcom/tsens-v2.c +++ b/drivers/thermal/qcom/tsens-v2.c @@ -31,6 +31,7 @@ @@ -63,9 +71,11 @@ Changes in v6: .adc = 0, .srot_split = 1, .max_sensors = 16, +diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c +index 99a8d9f3e03c..11172afbc5da 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c -@@ -531,6 +531,27 @@ static irqreturn_t tsens_irq_thread(int +@@ -531,6 +531,27 @@ static irqreturn_t tsens_irq_thread(int irq, void *data) return IRQ_HANDLED; } @@ -93,7 +103,7 @@ Changes in v6: static int tsens_set_trips(void *_sensor, int low, int high) { struct tsens_sensor *s = _sensor; -@@ -1075,13 +1096,18 @@ static int tsens_register(struct tsens_p +@@ -1075,13 +1096,18 @@ static int tsens_register(struct tsens_priv *priv) tsens_mC_to_hw(priv->sensor, 0)); } @@ -118,6 +128,8 @@ Changes in v6: return ret; } +diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h +index 1471a2c00f15..4614177944d6 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h @@ -495,6 +495,7 @@ enum regfield_ids { @@ -136,3 +148,6 @@ Changes in v6: unsigned int adc:1; unsigned int srot_split:1; unsigned int has_watchdog:1; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0119-drivers-thermal-tsens-allow-configuring-min-and-max-.patch b/target/linux/ipq60xx/patches-5.15/0119-drivers-thermal-tsens-allow-configuring-min-and-max-.patch index 36219c30c..602a713ca 100644 --- a/target/linux/ipq60xx/patches-5.15/0119-drivers-thermal-tsens-allow-configuring-min-and-max-.patch +++ b/target/linux/ipq60xx/patches-5.15/0119-drivers-thermal-tsens-allow-configuring-min-and-max-.patch @@ -21,9 +21,11 @@ Reviewed-by: Bjorn Andersson drivers/thermal/qcom/tsens.h | 4 ++++ 6 files changed, 14 insertions(+), 2 deletions(-) +diff --git a/drivers/thermal/qcom/tsens-8960.c b/drivers/thermal/qcom/tsens-8960.c +index ee584e5b07e5..4585904fb380 100644 --- a/drivers/thermal/qcom/tsens-8960.c +++ b/drivers/thermal/qcom/tsens-8960.c -@@ -273,6 +273,8 @@ static struct tsens_features tsens_8960_ +@@ -273,6 +273,8 @@ static struct tsens_features tsens_8960_feat = { .adc = 1, .srot_split = 0, .max_sensors = 11, @@ -32,9 +34,11 @@ Reviewed-by: Bjorn Andersson }; struct tsens_plat_data data_8960 = { +diff --git a/drivers/thermal/qcom/tsens-v0_1.c b/drivers/thermal/qcom/tsens-v0_1.c +index 6effb822bf3c..2c203ff374e6 100644 --- a/drivers/thermal/qcom/tsens-v0_1.c +++ b/drivers/thermal/qcom/tsens-v0_1.c -@@ -543,6 +543,8 @@ static struct tsens_features tsens_v0_1_ +@@ -543,6 +543,8 @@ static struct tsens_features tsens_v0_1_feat = { .adc = 1, .srot_split = 1, .max_sensors = 11, @@ -43,9 +47,11 @@ Reviewed-by: Bjorn Andersson }; static const struct reg_field tsens_v0_1_regfields[MAX_REGFIELDS] = { +diff --git a/drivers/thermal/qcom/tsens-v1.c b/drivers/thermal/qcom/tsens-v1.c +index a4f561a6e582..1d7f8a80bd13 100644 --- a/drivers/thermal/qcom/tsens-v1.c +++ b/drivers/thermal/qcom/tsens-v1.c -@@ -306,6 +306,8 @@ static struct tsens_features tsens_v1_fe +@@ -306,6 +306,8 @@ static struct tsens_features tsens_v1_feat = { .adc = 1, .srot_split = 1, .max_sensors = 11, @@ -54,9 +60,11 @@ Reviewed-by: Bjorn Andersson }; static const struct reg_field tsens_v1_regfields[MAX_REGFIELDS] = { +diff --git a/drivers/thermal/qcom/tsens-v2.c b/drivers/thermal/qcom/tsens-v2.c +index 129cdb247381..9babc69bfd22 100644 --- a/drivers/thermal/qcom/tsens-v2.c +++ b/drivers/thermal/qcom/tsens-v2.c -@@ -35,6 +35,8 @@ static struct tsens_features tsens_v2_fe +@@ -35,6 +35,8 @@ static struct tsens_features tsens_v2_feat = { .adc = 0, .srot_split = 1, .max_sensors = 16, @@ -65,9 +73,11 @@ Reviewed-by: Bjorn Andersson }; static const struct reg_field tsens_v2_regfields[MAX_REGFIELDS] = { +diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c +index 11172afbc5da..e11861581970 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c -@@ -572,8 +572,8 @@ static int tsens_set_trips(void *_sensor +@@ -572,8 +572,8 @@ static int tsens_set_trips(void *_sensor, int low, int high) dev_dbg(dev, "[%u] %s: proposed thresholds: (%d:%d)\n", hw_id, __func__, low, high); @@ -78,6 +88,8 @@ Reviewed-by: Bjorn Andersson high_val = tsens_mC_to_hw(s, cl_high); low_val = tsens_mC_to_hw(s, cl_low); +diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h +index 4614177944d6..747004476347 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h @@ -501,6 +501,8 @@ enum regfield_ids { @@ -98,3 +110,6 @@ Reviewed-by: Bjorn Andersson }; /** +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0120-drivers-thermal-tsens-add-IPQ8074-support.patch b/target/linux/ipq60xx/patches-5.15/0120-drivers-thermal-tsens-add-IPQ8074-support.patch index 88a3f56f9..2ecf2e00e 100644 --- a/target/linux/ipq60xx/patches-5.15/0120-drivers-thermal-tsens-add-IPQ8074-support.patch +++ b/target/linux/ipq60xx/patches-5.15/0120-drivers-thermal-tsens-add-IPQ8074-support.patch @@ -15,9 +15,11 @@ Reviewed-by: Bjorn Andersson drivers/thermal/qcom/tsens.h | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) +diff --git a/drivers/thermal/qcom/tsens-v2.c b/drivers/thermal/qcom/tsens-v2.c +index 9babc69bfd22..29a61d2d6ca3 100644 --- a/drivers/thermal/qcom/tsens-v2.c +++ b/drivers/thermal/qcom/tsens-v2.c -@@ -39,6 +39,17 @@ static struct tsens_features tsens_v2_fe +@@ -39,6 +39,17 @@ static struct tsens_features tsens_v2_feat = { .trip_max_temp = 120000, }; @@ -48,21 +50,25 @@ Reviewed-by: Bjorn Andersson /* Kept around for backward compatibility with old msm8996.dtsi */ struct tsens_plat_data data_8996 = { .num_sensors = 13, +diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c +index e11861581970..60b65bd2e7a3 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c -@@ -991,6 +991,9 @@ static const struct of_device_id tsens_t +@@ -990,6 +990,9 @@ static const struct of_device_id tsens_table[] = { + { .compatible = "qcom,ipq8064-tsens", .data = &data_8960, - }, { ++ }, { + .compatible = "qcom,ipq8074-tsens", + .data = &data_ipq8074, -+ }, { + }, { .compatible = "qcom,mdm9607-tsens", .data = &data_9607, - }, { +diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h +index 747004476347..8dd990d944ad 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h -@@ -599,6 +599,6 @@ extern struct tsens_plat_data data_8916, +@@ -599,6 +599,6 @@ extern struct tsens_plat_data data_8916, data_8939, data_8974, data_9607; extern struct tsens_plat_data data_tsens_v1, data_8976; /* TSENS v2 targets */ @@ -70,3 +76,6 @@ Reviewed-by: Bjorn Andersson +extern struct tsens_plat_data data_8996, data_ipq8074, data_tsens_v2; #endif /* __QCOM_TSENS_H__ */ +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0121-arm64-dts-ipq8074-add-thermal-nodes.patch b/target/linux/ipq60xx/patches-5.15/0121-arm64-dts-ipq8074-add-thermal-nodes.patch index 206a85ffa..10d90cd79 100644 --- a/target/linux/ipq60xx/patches-5.15/0121-arm64-dts-ipq8074-add-thermal-nodes.patch +++ b/target/linux/ipq60xx/patches-5.15/0121-arm64-dts-ipq8074-add-thermal-nodes.patch @@ -19,9 +19,11 @@ Changes in v5: arch/arm64/boot/dts/qcom/ipq8074.dtsi | 96 +++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 019c8e302273..9707136f08e1 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -310,6 +310,16 @@ +@@ -310,6 +310,16 @@ prng: rng@e3000 { status = "disabled"; }; @@ -38,7 +40,7 @@ Changes in v5: cryptobam: dma-controller@704000 { compatible = "qcom,bam-v1.7.0"; reg = <0x00704000 0x20000>; -@@ -920,4 +930,90 @@ +@@ -920,4 +930,90 @@ timer { , ; }; @@ -129,3 +131,6 @@ Changes in v5: + }; + }; }; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0122-mfd-qcom-spmi-pmic-add-support-for-PMP8074.patch b/target/linux/ipq60xx/patches-5.15/0122-mfd-qcom-spmi-pmic-add-support-for-PMP8074.patch index 07a31af89..f2e64bd97 100644 --- a/target/linux/ipq60xx/patches-5.15/0122-mfd-qcom-spmi-pmic-add-support-for-PMP8074.patch +++ b/target/linux/ipq60xx/patches-5.15/0122-mfd-qcom-spmi-pmic-add-support-for-PMP8074.patch @@ -13,9 +13,11 @@ Signed-off-by: Robert Marko drivers/mfd/qcom-spmi-pmic.c | 1 + 1 file changed, 1 insertion(+) +diff --git a/drivers/mfd/qcom-spmi-pmic.c b/drivers/mfd/qcom-spmi-pmic.c +index 1cacc00aa6c9..664de43df690 100644 --- a/drivers/mfd/qcom-spmi-pmic.c +++ b/drivers/mfd/qcom-spmi-pmic.c -@@ -76,6 +76,7 @@ static const struct of_device_id pmic_sp +@@ -76,6 +76,7 @@ static const struct of_device_id pmic_spmi_id_table[] = { { .compatible = "qcom,pmi8994", .data = (void *)PMI8994_SUBTYPE }, { .compatible = "qcom,pmi8998", .data = (void *)PMI8998_SUBTYPE }, { .compatible = "qcom,pmk8002", .data = (void *)PMK8002_SUBTYPE }, @@ -23,3 +25,6 @@ Signed-off-by: Robert Marko { .compatible = "qcom,smb2351", .data = (void *)SMB2351_SUBTYPE }, { .compatible = "qcom,spmi-pmic", .data = (void *)COMMON_SUBTYPE }, { } +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0123-arm64-dts-qcom-add-PMP8074-DTSI.patch b/target/linux/ipq60xx/patches-5.15/0123-arm64-dts-qcom-add-PMP8074-DTSI.patch index 8c2c68616..57f911248 100644 --- a/target/linux/ipq60xx/patches-5.15/0123-arm64-dts-qcom-add-PMP8074-DTSI.patch +++ b/target/linux/ipq60xx/patches-5.15/0123-arm64-dts-qcom-add-PMP8074-DTSI.patch @@ -28,6 +28,9 @@ regulator subnodes 1 file changed, 125 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/pmp8074.dtsi +diff --git a/arch/arm64/boot/dts/qcom/pmp8074.dtsi b/arch/arm64/boot/dts/qcom/pmp8074.dtsi +new file mode 100644 +index 000000000000..ceb2e6358b3d --- /dev/null +++ b/arch/arm64/boot/dts/qcom/pmp8074.dtsi @@ -0,0 +1,125 @@ @@ -156,3 +159,6 @@ regulator subnodes + }; + }; +}; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0124-arm64-dts-qcom-ipq8074-hk01-add-VQMMC-supply.patch b/target/linux/ipq60xx/patches-5.15/0124-arm64-dts-qcom-ipq8074-hk01-add-VQMMC-supply.patch index 0d1aea992..0a52509a8 100644 --- a/target/linux/ipq60xx/patches-5.15/0124-arm64-dts-qcom-ipq8074-hk01-add-VQMMC-supply.patch +++ b/target/linux/ipq60xx/patches-5.15/0124-arm64-dts-qcom-ipq8074-hk01-add-VQMMC-supply.patch @@ -15,6 +15,8 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074-hk01.dts | 2 ++ 1 file changed, 2 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts b/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts +index ef30053136e3..f2b2691cc463 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts +++ b/arch/arm64/boot/dts/qcom/ipq8074-hk01.dts @@ -3,6 +3,7 @@ @@ -25,7 +27,7 @@ Signed-off-by: Robert Marko / { model = "Qualcomm Technologies, Inc. IPQ8074-HK01"; -@@ -82,6 +83,7 @@ +@@ -82,6 +83,7 @@ nand@0 { &sdhc_1 { status = "okay"; @@ -33,3 +35,6 @@ Signed-off-by: Robert Marko }; &qusb_phy_0 { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0125-arm64-dts-ipq8074-add-CPU-clock.patch b/target/linux/ipq60xx/patches-5.15/0125-arm64-dts-ipq8074-add-CPU-clock.patch index 29d0b3890..c017de2f8 100644 --- a/target/linux/ipq60xx/patches-5.15/0125-arm64-dts-ipq8074-add-CPU-clock.patch +++ b/target/linux/ipq60xx/patches-5.15/0125-arm64-dts-ipq8074-add-CPU-clock.patch @@ -11,6 +11,8 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 9707136f08e1..b9030cb8fbf3 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi @@ -5,6 +5,7 @@ @@ -21,7 +23,7 @@ Signed-off-by: Robert Marko / { #address-cells = <2>; -@@ -38,6 +39,8 @@ +@@ -38,6 +39,8 @@ CPU0: cpu@0 { reg = <0x0>; next-level-cache = <&L2_0>; enable-method = "psci"; @@ -30,7 +32,7 @@ Signed-off-by: Robert Marko }; CPU1: cpu@1 { -@@ -46,6 +49,8 @@ +@@ -46,6 +49,8 @@ CPU1: cpu@1 { enable-method = "psci"; reg = <0x1>; next-level-cache = <&L2_0>; @@ -39,7 +41,7 @@ Signed-off-by: Robert Marko }; CPU2: cpu@2 { -@@ -54,6 +59,8 @@ +@@ -54,6 +59,8 @@ CPU2: cpu@2 { enable-method = "psci"; reg = <0x2>; next-level-cache = <&L2_0>; @@ -48,7 +50,7 @@ Signed-off-by: Robert Marko }; CPU3: cpu@3 { -@@ -62,6 +69,8 @@ +@@ -62,6 +69,8 @@ CPU3: cpu@3 { enable-method = "psci"; reg = <0x3>; next-level-cache = <&L2_0>; @@ -57,3 +59,6 @@ Signed-off-by: Robert Marko }; L2_0: l2-cache { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0126-arm64-dts-ipq8074-add-label-to-cpus.patch b/target/linux/ipq60xx/patches-5.15/0126-arm64-dts-ipq8074-add-label-to-cpus.patch index 45a560ee0..684366f88 100644 --- a/target/linux/ipq60xx/patches-5.15/0126-arm64-dts-ipq8074-add-label-to-cpus.patch +++ b/target/linux/ipq60xx/patches-5.15/0126-arm64-dts-ipq8074-add-label-to-cpus.patch @@ -12,9 +12,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index b9030cb8fbf3..bcf2163f527f 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -29,7 +29,7 @@ +@@ -29,7 +29,7 @@ xo: xo { }; }; @@ -23,3 +25,6 @@ Signed-off-by: Robert Marko #address-cells = <0x1>; #size-cells = <0x0>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0127-arm64-dts-ipq8074-add-cooling-cells-to-CPU-nodes.patch b/target/linux/ipq60xx/patches-5.15/0127-arm64-dts-ipq8074-add-cooling-cells-to-CPU-nodes.patch index b49e1b8df..08a56a6f1 100644 --- a/target/linux/ipq60xx/patches-5.15/0127-arm64-dts-ipq8074-add-cooling-cells-to-CPU-nodes.patch +++ b/target/linux/ipq60xx/patches-5.15/0127-arm64-dts-ipq8074-add-cooling-cells-to-CPU-nodes.patch @@ -12,9 +12,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 4 ++++ 1 file changed, 4 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index bcf2163f527f..8094bef3f28f 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -41,6 +41,7 @@ +@@ -41,6 +41,7 @@ CPU0: cpu@0 { enable-method = "psci"; clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; clock-names = "cpu"; @@ -22,7 +24,7 @@ Signed-off-by: Robert Marko }; CPU1: cpu@1 { -@@ -51,6 +52,7 @@ +@@ -51,6 +52,7 @@ CPU1: cpu@1 { next-level-cache = <&L2_0>; clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; clock-names = "cpu"; @@ -30,7 +32,7 @@ Signed-off-by: Robert Marko }; CPU2: cpu@2 { -@@ -61,6 +63,7 @@ +@@ -61,6 +63,7 @@ CPU2: cpu@2 { next-level-cache = <&L2_0>; clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; clock-names = "cpu"; @@ -38,7 +40,7 @@ Signed-off-by: Robert Marko }; CPU3: cpu@3 { -@@ -71,6 +74,7 @@ +@@ -71,6 +74,7 @@ CPU3: cpu@3 { next-level-cache = <&L2_0>; clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>; clock-names = "cpu"; @@ -46,3 +48,6 @@ Signed-off-by: Robert Marko }; L2_0: l2-cache { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0128-dt-bindings-clock-qcom-Add-reset-for-WCSSAON.patch b/target/linux/ipq60xx/patches-5.15/0128-dt-bindings-clock-qcom-Add-reset-for-WCSSAON.patch index b91b7565d..243f8f37e 100644 --- a/target/linux/ipq60xx/patches-5.15/0128-dt-bindings-clock-qcom-Add-reset-for-WCSSAON.patch +++ b/target/linux/ipq60xx/patches-5.15/0128-dt-bindings-clock-qcom-Add-reset-for-WCSSAON.patch @@ -14,6 +14,8 @@ Acked-by: Stephen Boyd include/dt-bindings/clock/qcom,gcc-ipq8074.h | 1 + 1 file changed, 1 insertion(+) +diff --git a/include/dt-bindings/clock/qcom,gcc-ipq8074.h b/include/dt-bindings/clock/qcom,gcc-ipq8074.h +index e4991d303708..7b425cede707 100644 --- a/include/dt-bindings/clock/qcom,gcc-ipq8074.h +++ b/include/dt-bindings/clock/qcom,gcc-ipq8074.h @@ -367,6 +367,7 @@ @@ -24,3 +26,6 @@ Acked-by: Stephen Boyd #define USB0_GDSC 0 #define USB1_GDSC 1 +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0129-clk-qcom-Add-WCSSAON-reset.patch b/target/linux/ipq60xx/patches-5.15/0129-clk-qcom-Add-WCSSAON-reset.patch index c90eb7bef..3493a8ceb 100644 --- a/target/linux/ipq60xx/patches-5.15/0129-clk-qcom-Add-WCSSAON-reset.patch +++ b/target/linux/ipq60xx/patches-5.15/0129-clk-qcom-Add-WCSSAON-reset.patch @@ -13,9 +13,11 @@ Acked-by: Stephen Boyd drivers/clk/qcom/gcc-ipq8074.c | 1 + 1 file changed, 1 insertion(+) +diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c +index 42d185fe19c8..7954a730aad2 100644 --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c -@@ -4826,6 +4826,7 @@ static const struct qcom_reset_map gcc_i +@@ -4826,6 +4826,7 @@ static const struct qcom_reset_map gcc_ipq8074_resets[] = { [GCC_PCIE1_AXI_SLAVE_ARES] = { 0x76040, 4 }, [GCC_PCIE1_AHB_ARES] = { 0x76040, 5 }, [GCC_PCIE1_AXI_MASTER_STICKY_ARES] = { 0x76040, 6 }, @@ -23,3 +25,6 @@ Acked-by: Stephen Boyd }; static struct gdsc *gcc_ipq8074_gdscs[] = { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0130-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch b/target/linux/ipq60xx/patches-5.15/0130-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch index 869ed45a0..38cfecfcf 100644 --- a/target/linux/ipq60xx/patches-5.15/0130-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch +++ b/target/linux/ipq60xx/patches-5.15/0130-remoteproc-wcss-disable-auto-boot-for-IPQ8074.patch @@ -11,6 +11,8 @@ Change-Id: Ia82edb7ee52f2bd010c099f151179d69a953ac88 drivers/remoteproc/qcom_q6v5_wcss.c | 4 ++++ 1 file changed, 4 insertions(+) +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index 16fc5a33adaf..92c240976f55 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -161,6 +161,7 @@ struct wcss_data { @@ -21,7 +23,7 @@ Change-Id: Ia82edb7ee52f2bd010c099f151179d69a953ac88 }; static int q6v5_wcss_reset(struct q6v5_wcss *wcss) -@@ -1147,6 +1148,7 @@ static int q6v5_wcss_probe(struct platfo +@@ -1147,6 +1148,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev) desc->sysmon_name, desc->ssctl_id); @@ -29,7 +31,7 @@ Change-Id: Ia82edb7ee52f2bd010c099f151179d69a953ac88 ret = rproc_add(rproc); if (ret) goto free_rproc; -@@ -1183,6 +1185,7 @@ static const struct wcss_data wcss_ipq80 +@@ -1183,6 +1185,7 @@ static const struct wcss_data wcss_ipq8074_res_init = { .ops = &q6v5_wcss_ipq8074_ops, .requires_force_stop = true, .need_mem_protection = true, @@ -37,7 +39,7 @@ Change-Id: Ia82edb7ee52f2bd010c099f151179d69a953ac88 }; static const struct wcss_data wcss_qcs404_res_init = { -@@ -1199,6 +1202,7 @@ static const struct wcss_data wcss_qcs40 +@@ -1199,6 +1202,7 @@ static const struct wcss_data wcss_qcs404_res_init = { .ssctl_id = 0x12, .ops = &q6v5_wcss_qcs404_ops, .requires_force_stop = false, @@ -45,3 +47,6 @@ Change-Id: Ia82edb7ee52f2bd010c099f151179d69a953ac88 }; static const struct of_device_id q6v5_wcss_of_match[] = { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0131-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch b/target/linux/ipq60xx/patches-5.15/0131-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch index 3a3a9e73a..586c33158 100644 --- a/target/linux/ipq60xx/patches-5.15/0131-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch +++ b/target/linux/ipq60xx/patches-5.15/0131-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch @@ -14,9 +14,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 81 +++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 8094bef3f28f..6c18e2f91f49 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -153,6 +153,32 @@ +@@ -153,6 +153,32 @@ scm { }; }; @@ -49,7 +51,7 @@ Signed-off-by: Robert Marko soc: soc { #address-cells = <0x1>; #size-cells = <0x1>; -@@ -421,6 +447,11 @@ +@@ -421,6 +447,11 @@ tcsr_mutex: hwlock@1905000 { #hwlock-cells = <1>; }; @@ -61,7 +63,7 @@ Signed-off-by: Robert Marko spmi_bus: spmi@200f000 { compatible = "qcom,spmi-pmic-arb"; reg = <0x0200f000 0x001000>, -@@ -934,6 +965,56 @@ +@@ -934,6 +965,56 @@ IRQ_TYPE_LEVEL_HIGH>, /* int_c */ "axi_s_sticky"; status = "disabled"; }; @@ -118,3 +120,6 @@ Signed-off-by: Robert Marko }; timer { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0132-arm64-dts-ipq8074-Add-WLAN-node.patch b/target/linux/ipq60xx/patches-5.15/0132-arm64-dts-ipq8074-Add-WLAN-node.patch index d93cf1c28..ac494377d 100644 --- a/target/linux/ipq60xx/patches-5.15/0132-arm64-dts-ipq8074-Add-WLAN-node.patch +++ b/target/linux/ipq60xx/patches-5.15/0132-arm64-dts-ipq8074-Add-WLAN-node.patch @@ -13,9 +13,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 111 ++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 6c18e2f91f49..6b743a0a740f 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -1015,6 +1015,117 @@ +@@ -1015,6 +1015,117 @@ rpm_requests { }; }; }; @@ -133,3 +135,6 @@ Signed-off-by: Robert Marko }; timer { +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0133-clk-ipq-support-for-resetting-multiple-bits.patch b/target/linux/ipq60xx/patches-5.15/0133-clk-ipq-support-for-resetting-multiple-bits.patch index 93342cfa3..fd1bd4fc6 100644 --- a/target/linux/ipq60xx/patches-5.15/0133-clk-ipq-support-for-resetting-multiple-bits.patch +++ b/target/linux/ipq60xx/patches-5.15/0133-clk-ipq-support-for-resetting-multiple-bits.patch @@ -24,9 +24,11 @@ Signed-off-by: Rajkumar Ayyasamy drivers/clk/qcom/reset.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) +diff --git a/drivers/clk/qcom/reset.c b/drivers/clk/qcom/reset.c +index 819d194be8f7..8ad7b50dd534 100644 --- a/drivers/clk/qcom/reset.c +++ b/drivers/clk/qcom/reset.c -@@ -28,7 +28,7 @@ qcom_reset_assert(struct reset_controlle +@@ -28,7 +28,7 @@ qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id) rst = to_qcom_reset_controller(rcdev); map = &rst->reset_map[id]; @@ -35,7 +37,7 @@ Signed-off-by: Rajkumar Ayyasamy return regmap_update_bits(rst->regmap, map->reg, mask, mask); } -@@ -42,7 +42,7 @@ qcom_reset_deassert(struct reset_control +@@ -42,7 +42,7 @@ qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id) rst = to_qcom_reset_controller(rcdev); map = &rst->reset_map[id]; @@ -44,6 +46,8 @@ Signed-off-by: Rajkumar Ayyasamy return regmap_update_bits(rst->regmap, map->reg, mask, 0); } +diff --git a/drivers/clk/qcom/reset.h b/drivers/clk/qcom/reset.h +index 2a08b5e282c7..0410f83bf2bb 100644 --- a/drivers/clk/qcom/reset.h +++ b/drivers/clk/qcom/reset.h @@ -11,6 +11,7 @@ @@ -54,3 +58,6 @@ Signed-off-by: Rajkumar Ayyasamy }; struct regmap; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0134-clk-qcom-ipq8074-add-missing-networking-resets.patch b/target/linux/ipq60xx/patches-5.15/0134-clk-qcom-ipq8074-add-missing-networking-resets.patch index 1004880b8..3e140bcc1 100644 --- a/target/linux/ipq60xx/patches-5.15/0134-clk-qcom-ipq8074-add-missing-networking-resets.patch +++ b/target/linux/ipq60xx/patches-5.15/0134-clk-qcom-ipq8074-add-missing-networking-resets.patch @@ -15,9 +15,11 @@ Signed-off-by: Robert Marko include/dt-bindings/clock/qcom,gcc-ipq8074.h | 14 ++++++++++++++ 2 files changed, 28 insertions(+) +diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c +index 7954a730aad2..069ad3b5bca0 100644 --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c -@@ -4827,6 +4827,20 @@ static const struct qcom_reset_map gcc_i +@@ -4827,6 +4827,20 @@ static const struct qcom_reset_map gcc_ipq8074_resets[] = { [GCC_PCIE1_AHB_ARES] = { 0x76040, 5 }, [GCC_PCIE1_AXI_MASTER_STICKY_ARES] = { 0x76040, 6 }, [GCC_WCSSAON_RESET] = { 0x59010, 0 }, @@ -38,6 +40,8 @@ Signed-off-by: Robert Marko }; static struct gdsc *gcc_ipq8074_gdscs[] = { +diff --git a/include/dt-bindings/clock/qcom,gcc-ipq8074.h b/include/dt-bindings/clock/qcom,gcc-ipq8074.h +index 7b425cede707..1e9ef05a36dd 100644 --- a/include/dt-bindings/clock/qcom,gcc-ipq8074.h +++ b/include/dt-bindings/clock/qcom,gcc-ipq8074.h @@ -368,6 +368,20 @@ @@ -61,3 +65,6 @@ Signed-off-by: Robert Marko #define USB0_GDSC 0 #define USB1_GDSC 1 +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0135-arm64-dts-ipq8074-add-label-to-clocks.patch b/target/linux/ipq60xx/patches-5.15/0135-arm64-dts-ipq8074-add-label-to-clocks.patch index deafccbeb..b39a580b2 100644 --- a/target/linux/ipq60xx/patches-5.15/0135-arm64-dts-ipq8074-add-label-to-clocks.patch +++ b/target/linux/ipq60xx/patches-5.15/0135-arm64-dts-ipq8074-add-label-to-clocks.patch @@ -11,9 +11,11 @@ Signed-off-by: Robert Marko arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +index 6b743a0a740f..f30bf5ef6aab 100644 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi -@@ -15,7 +15,7 @@ +@@ -15,7 +15,7 @@ / { compatible = "qcom,ipq8074"; interrupt-parent = <&intc>; @@ -22,3 +24,6 @@ Signed-off-by: Robert Marko sleep_clk: sleep_clk { compatible = "fixed-clock"; clock-frequency = <32768>; +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0136-power-Add-Qualcomm-APM.patch b/target/linux/ipq60xx/patches-5.15/0136-power-Add-Qualcomm-APM.patch index e73afce71..2c1ab0dd7 100644 --- a/target/linux/ipq60xx/patches-5.15/0136-power-Add-Qualcomm-APM.patch +++ b/target/linux/ipq60xx/patches-5.15/0136-power-Add-Qualcomm-APM.patch @@ -19,6 +19,8 @@ Signed-off-by: Robert Marko create mode 100644 drivers/power/qcom/apm.c create mode 100644 include/linux/power/qcom/apm.h +diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig +index 696bf77a7042..235f3cbf2a54 100644 --- a/drivers/power/Kconfig +++ b/drivers/power/Kconfig @@ -1,3 +1,4 @@ @@ -26,6 +28,8 @@ Signed-off-by: Robert Marko source "drivers/power/reset/Kconfig" source "drivers/power/supply/Kconfig" +source "drivers/power/qcom/Kconfig" +diff --git a/drivers/power/Makefile b/drivers/power/Makefile +index effbf0377f32..cd239e730b2b 100644 --- a/drivers/power/Makefile +++ b/drivers/power/Makefile @@ -1,3 +1,4 @@ @@ -33,6 +37,9 @@ Signed-off-by: Robert Marko obj-$(CONFIG_POWER_RESET) += reset/ obj-$(CONFIG_POWER_SUPPLY) += supply/ +obj-$(CONFIG_QCOM_APM) += qcom/ +diff --git a/drivers/power/qcom/Kconfig b/drivers/power/qcom/Kconfig +new file mode 100644 +index 000000000000..01993a6179d1 --- /dev/null +++ b/drivers/power/qcom/Kconfig @@ -0,0 +1,7 @@ @@ -43,10 +50,16 @@ Signed-off-by: Robert Marko + memory arrays. Interfaces with regulator drivers to ensure + SRAM Vmin requirements are met across different performance + levels. +diff --git a/drivers/power/qcom/Makefile b/drivers/power/qcom/Makefile +new file mode 100644 +index 000000000000..43a288e62ef1 --- /dev/null +++ b/drivers/power/qcom/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_QCOM_APM) += apm.o +diff --git a/drivers/power/qcom/apm.c b/drivers/power/qcom/apm.c +new file mode 100644 +index 000000000000..bd93358e3d34 --- /dev/null +++ b/drivers/power/qcom/apm.c @@ -0,0 +1,944 @@ @@ -994,6 +1007,9 @@ Signed-off-by: Robert Marko + +MODULE_DESCRIPTION("MSM Array Power Mux driver"); +MODULE_LICENSE("GPL v2"); +diff --git a/include/linux/power/qcom/apm.h b/include/linux/power/qcom/apm.h +new file mode 100644 +index 000000000000..432683578b76 --- /dev/null +++ b/include/linux/power/qcom/apm.h @@ -0,0 +1,48 @@ @@ -1045,3 +1061,6 @@ Signed-off-by: Robert Marko +{ return -EPERM; } +#endif +#endif +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0137-regulator-add-Qualcomm-CPR-regulators.patch b/target/linux/ipq60xx/patches-5.15/0137-regulator-add-Qualcomm-CPR-regulators.patch index 2f997e23a..6f22eeb28 100644 --- a/target/linux/ipq60xx/patches-5.15/0137-regulator-add-Qualcomm-CPR-regulators.patch +++ b/target/linux/ipq60xx/patches-5.15/0137-regulator-add-Qualcomm-CPR-regulators.patch @@ -23,6 +23,8 @@ Signed-off-by: Robert Marko create mode 100644 drivers/regulator/cpr4-apss-regulator.c create mode 100644 include/soc/qcom/socinfo.h +diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig +index 4fd13b06231f..92164c80cbc4 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -1423,5 +1423,38 @@ config REGULATOR_QCOM_LABIBB @@ -64,9 +66,11 @@ Signed-off-by: Robert Marko + endif +diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile +index 9e382b50a5ef..2e521cb39e7e 100644 --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile -@@ -105,6 +105,9 @@ obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qco +@@ -105,6 +105,9 @@ obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qcom-rpmh-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o obj-$(CONFIG_REGULATOR_QCOM_USB_VBUS) += qcom_usb_vbus-regulator.o @@ -76,6 +80,9 @@ Signed-off-by: Robert Marko obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o obj-$(CONFIG_REGULATOR_PCA9450) += pca9450-regulator.o obj-$(CONFIG_REGULATOR_PF8X00) += pf8x00-regulator.o +diff --git a/drivers/regulator/cpr3-npu-regulator.c b/drivers/regulator/cpr3-npu-regulator.c +new file mode 100644 +index 000000000000..e808073c0850 --- /dev/null +++ b/drivers/regulator/cpr3-npu-regulator.c @@ -0,0 +1,695 @@ @@ -774,6 +781,9 @@ Signed-off-by: Robert Marko +MODULE_DESCRIPTION("QCOM CPR3 NPU regulator driver"); +MODULE_LICENSE("Dual BSD/GPLv2"); +MODULE_ALIAS("platform:npu-ipq807x"); +diff --git a/drivers/regulator/cpr3-regulator.c b/drivers/regulator/cpr3-regulator.c +new file mode 100644 +index 000000000000..d5d8a1a0b061 --- /dev/null +++ b/drivers/regulator/cpr3-regulator.c @@ -0,0 +1,5112 @@ @@ -5889,6 +5899,9 @@ Signed-off-by: Robert Marko + + return 0; +} +diff --git a/drivers/regulator/cpr3-regulator.h b/drivers/regulator/cpr3-regulator.h +new file mode 100644 +index 000000000000..7c69c4630543 --- /dev/null +++ b/drivers/regulator/cpr3-regulator.h @@ -0,0 +1,1211 @@ @@ -7103,6 +7116,9 @@ Signed-off-by: Robert Marko +#endif /* CONFIG_REGULATOR_CPR3 */ + +#endif /* __REGULATOR_CPR_REGULATOR_H__ */ +diff --git a/drivers/regulator/cpr3-util.c b/drivers/regulator/cpr3-util.c +new file mode 100644 +index 000000000000..45493af714e2 --- /dev/null +++ b/drivers/regulator/cpr3-util.c @@ -0,0 +1,2750 @@ @@ -9856,6 +9872,9 @@ Signed-off-by: Robert Marko + kfree(ro_scale); + return rc; +} +diff --git a/drivers/regulator/cpr4-apss-regulator.c b/drivers/regulator/cpr4-apss-regulator.c +new file mode 100644 +index 000000000000..114e2acb25ff --- /dev/null +++ b/drivers/regulator/cpr4-apss-regulator.c @@ -0,0 +1,1819 @@ @@ -11678,6 +11697,9 @@ Signed-off-by: Robert Marko + +arch_initcall(cpr4_regulator_init); +module_exit(cpr4_regulator_exit); +diff --git a/include/soc/qcom/socinfo.h b/include/soc/qcom/socinfo.h +new file mode 100644 +index 000000000000..db43446163a9 --- /dev/null +++ b/include/soc/qcom/socinfo.h @@ -0,0 +1,463 @@ @@ -12144,3 +12166,6 @@ Signed-off-by: Robert Marko +} + +#endif /* _ARCH_ARM_MACH_MSM_SOCINFO_H_ */ +-- +2.37.2 + diff --git a/target/linux/ipq60xx/patches-5.15/0900-arm64-dts-add-OpenWrt-DTS-files.patch b/target/linux/ipq60xx/patches-5.15/1000-arm64-dts-add-OpenWrt-DTS-files.patch similarity index 77% rename from target/linux/ipq60xx/patches-5.15/0900-arm64-dts-add-OpenWrt-DTS-files.patch rename to target/linux/ipq60xx/patches-5.15/1000-arm64-dts-add-OpenWrt-DTS-files.patch index 08714116d..dc124d4f1 100644 --- a/target/linux/ipq60xx/patches-5.15/0900-arm64-dts-add-OpenWrt-DTS-files.patch +++ b/target/linux/ipq60xx/patches-5.15/1000-arm64-dts-add-OpenWrt-DTS-files.patch @@ -12,14 +12,19 @@ Signed-off-by: Alexandru Gagniuc arch/arm64/boot/dts/qcom/Makefile | 1 + 1 file changed, 1 insertion(+) +diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile +index 70516508be56..27a7e3f98465 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile -@@ -4,6 +4,8 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8094-sony- +@@ -4,6 +4,8 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8094-sony-xperia-kitakami-karin_windy.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb -+dtb-$(CONFIG_ARCH_QCOM) += ipq6018-360v6.dtb +dtb-$(CONFIG_ARCH_QCOM) += ipq6018-eap610-outdoor.dtb ++dtb-$(CONFIG_ARCH_QCOM) += ipq6018-mr7350.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c1.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c2.dtb +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1001-arm64-dts-qcom-ipq6018-Add-mdio-bus-description.patch b/target/linux/ipq60xx/patches-5.15/1001-arm64-dts-qcom-ipq6018-Add-mdio-bus-description.patch index c3d04ad7e..f72ef1249 100644 --- a/target/linux/ipq60xx/patches-5.15/1001-arm64-dts-qcom-ipq6018-Add-mdio-bus-description.patch +++ b/target/linux/ipq60xx/patches-5.15/1001-arm64-dts-qcom-ipq6018-Add-mdio-bus-description.patch @@ -14,9 +14,11 @@ Link: https://lore.kernel.org/r/ef01a79ccc6ef86dc3a10d0fa3331794d49e9859.1646031 arch/arm64/boot/dts/qcom/ipq6018.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+) +diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi +index ce4c2b4a5fc0..5ac0aafc620e 100644 --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -623,6 +623,16 @@ +@@ -623,6 +623,16 @@ qrtr_requests { }; }; @@ -33,3 +35,6 @@ Link: https://lore.kernel.org/r/ef01a79ccc6ef86dc3a10d0fa3331794d49e9859.1646031 qusb_phy_1: qusb@59000 { compatible = "qcom,ipq6018-qusb2-phy"; reg = <0x0 0x059000 0x0 0x180>; +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1002-clk-qcom-add-support-for-hw-controlled-RCG.patch b/target/linux/ipq60xx/patches-5.15/1002-clk-qcom-add-support-for-hw-controlled-RCG.patch index 1bc079525..d1dfe7a8f 100644 --- a/target/linux/ipq60xx/patches-5.15/1002-clk-qcom-add-support-for-hw-controlled-RCG.patch +++ b/target/linux/ipq60xx/patches-5.15/1002-clk-qcom-add-support-for-hw-controlled-RCG.patch @@ -22,9 +22,11 @@ Signed-off-by: Alexandru Gagniuc drivers/clk/qcom/clk-rcg2.c | 29 ++++++++++++++++++++++------- 2 files changed, 26 insertions(+), 7 deletions(-) +diff --git a/drivers/clk/qcom/clk-rcg.h b/drivers/clk/qcom/clk-rcg.h +index 248115a018bc..f53fb0acfd93 100644 --- a/drivers/clk/qcom/clk-rcg.h +++ b/drivers/clk/qcom/clk-rcg.h -@@ -135,6 +135,7 @@ extern const struct clk_ops clk_dyn_rcg_ +@@ -135,6 +135,7 @@ extern const struct clk_ops clk_dyn_rcg_ops; * @mnd_width: number of bits in m/n/d values * @hid_width: number of bits in half integer divider * @safe_src_index: safe src index value @@ -42,9 +44,11 @@ Signed-off-by: Alexandru Gagniuc const struct parent_map *parent_map; const struct freq_tbl *freq_tbl; struct clk_regmap clkr; +diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c +index fdbbda1f2ba4..f696aca67162 100644 --- a/drivers/clk/qcom/clk-rcg2.c +++ b/drivers/clk/qcom/clk-rcg2.c -@@ -98,7 +98,7 @@ err: +@@ -98,7 +98,7 @@ static u8 clk_rcg2_get_parent(struct clk_hw *hw) return 0; } @@ -53,7 +57,7 @@ Signed-off-by: Alexandru Gagniuc { int count, ret; u32 cmd; -@@ -110,6 +110,9 @@ static int update_config(struct clk_rcg2 +@@ -110,6 +110,9 @@ static int update_config(struct clk_rcg2 *rcg) if (ret) return ret; @@ -63,7 +67,7 @@ Signed-off-by: Alexandru Gagniuc /* Wait for update to take effect */ for (count = 500; count > 0; count--) { ret = regmap_read(rcg->clkr.regmap, rcg->cmd_rcgr + CMD_REG, &cmd); -@@ -128,14 +131,19 @@ static int clk_rcg2_set_parent(struct cl +@@ -128,14 +131,19 @@ static int clk_rcg2_set_parent(struct clk_hw *hw, u8 index) { struct clk_rcg2 *rcg = to_clk_rcg2(hw); int ret; @@ -84,7 +88,7 @@ Signed-off-by: Alexandru Gagniuc } /* -@@ -312,12 +320,19 @@ static int __clk_rcg2_configure(struct c +@@ -312,12 +320,19 @@ static int __clk_rcg2_configure(struct clk_rcg2 *rcg, const struct freq_tbl *f) static int clk_rcg2_configure(struct clk_rcg2 *rcg, const struct freq_tbl *f) { int ret; @@ -105,7 +109,7 @@ Signed-off-by: Alexandru Gagniuc } static int __clk_rcg2_set_rate(struct clk_hw *hw, unsigned long rate, -@@ -448,7 +463,7 @@ static int clk_rcg2_set_duty_cycle(struc +@@ -448,7 +463,7 @@ static int clk_rcg2_set_duty_cycle(struct clk_hw *hw, struct clk_duty *duty) if (ret) return ret; @@ -114,7 +118,7 @@ Signed-off-by: Alexandru Gagniuc } const struct clk_ops clk_rcg2_ops = { -@@ -910,7 +925,7 @@ static int clk_gfx3d_set_rate_and_parent +@@ -910,7 +925,7 @@ static int clk_gfx3d_set_rate_and_parent(struct clk_hw *hw, unsigned long rate, if (ret) return ret; @@ -123,7 +127,7 @@ Signed-off-by: Alexandru Gagniuc } static int clk_gfx3d_set_rate(struct clk_hw *hw, unsigned long rate, -@@ -1022,7 +1037,7 @@ static int clk_rcg2_shared_enable(struct +@@ -1022,7 +1037,7 @@ static int clk_rcg2_shared_enable(struct clk_hw *hw) if (ret) return ret; @@ -132,7 +136,7 @@ Signed-off-by: Alexandru Gagniuc if (ret) return ret; -@@ -1053,7 +1068,7 @@ static void clk_rcg2_shared_disable(stru +@@ -1053,7 +1068,7 @@ static void clk_rcg2_shared_disable(struct clk_hw *hw) regmap_write(rcg->clkr.regmap, rcg->cmd_rcgr + CFG_REG, rcg->safe_src_index << CFG_SRC_SEL_SHIFT); @@ -141,3 +145,6 @@ Signed-off-by: Alexandru Gagniuc clk_rcg2_clear_force_enable(hw); +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1003-clk-qcom-ipq6018-add-missing-clock-flags.patch b/target/linux/ipq60xx/patches-5.15/1003-clk-qcom-ipq6018-add-missing-clock-flags.patch index 4f2b410f4..1ad472908 100644 --- a/target/linux/ipq60xx/patches-5.15/1003-clk-qcom-ipq6018-add-missing-clock-flags.patch +++ b/target/linux/ipq60xx/patches-5.15/1003-clk-qcom-ipq6018-add-missing-clock-flags.patch @@ -21,9 +21,11 @@ Signed-off-by: Alexandru Gagniuc drivers/clk/qcom/gcc-ipq6018.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) +diff --git a/drivers/clk/qcom/gcc-ipq6018.c b/drivers/clk/qcom/gcc-ipq6018.c +index 3f9c2f61a5d9..cf11c9aa5004 100644 --- a/drivers/clk/qcom/gcc-ipq6018.c +++ b/drivers/clk/qcom/gcc-ipq6018.c -@@ -62,6 +62,7 @@ static struct clk_alpha_pll gpll0_main = +@@ -62,6 +62,7 @@ static struct clk_alpha_pll gpll0_main = { }, .num_parents = 1, .ops = &clk_alpha_pll_ops, @@ -31,7 +33,7 @@ Signed-off-by: Alexandru Gagniuc }, }, }; -@@ -150,6 +151,7 @@ static struct clk_alpha_pll gpll6_main = +@@ -150,6 +151,7 @@ static struct clk_alpha_pll gpll6_main = { }, .num_parents = 1, .ops = &clk_alpha_pll_ops, @@ -39,7 +41,7 @@ Signed-off-by: Alexandru Gagniuc }, }, }; -@@ -181,6 +183,7 @@ static struct clk_alpha_pll gpll4_main = +@@ -181,6 +183,7 @@ static struct clk_alpha_pll gpll4_main = { }, .num_parents = 1, .ops = &clk_alpha_pll_ops, @@ -47,7 +49,7 @@ Signed-off-by: Alexandru Gagniuc }, }, }; -@@ -211,6 +214,7 @@ static struct clk_rcg2 pcnoc_bfdcd_clk_s +@@ -211,6 +214,7 @@ static struct clk_rcg2 pcnoc_bfdcd_clk_src = { .freq_tbl = ftbl_pcnoc_bfdcd_clk_src, .hid_width = 5, .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, @@ -55,7 +57,7 @@ Signed-off-by: Alexandru Gagniuc .clkr.hw.init = &(struct clk_init_data){ .name = "pcnoc_bfdcd_clk_src", .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, -@@ -232,6 +236,7 @@ static struct clk_alpha_pll gpll2_main = +@@ -232,6 +236,7 @@ static struct clk_alpha_pll gpll2_main = { }, .num_parents = 1, .ops = &clk_alpha_pll_ops, @@ -63,7 +65,7 @@ Signed-off-by: Alexandru Gagniuc }, }, }; -@@ -456,6 +461,7 @@ static struct clk_branch gcc_sleep_clk_s +@@ -456,6 +461,7 @@ static struct clk_branch gcc_sleep_clk_src = { }, .num_parents = 1, .ops = &clk_branch2_ops, @@ -71,7 +73,7 @@ Signed-off-by: Alexandru Gagniuc }, }, }; -@@ -960,6 +966,7 @@ static struct clk_rcg2 nss_crypto_clk_sr +@@ -960,6 +966,7 @@ static struct clk_rcg2 nss_crypto_clk_src = { .mnd_width = 16, .hid_width = 5, .parent_map = gcc_xo_nss_crypto_pll_gpll0_map, @@ -79,7 +81,7 @@ Signed-off-by: Alexandru Gagniuc .clkr.hw.init = &(struct clk_init_data){ .name = "nss_crypto_clk_src", .parent_data = gcc_xo_nss_crypto_pll_gpll0, -@@ -1131,6 +1138,7 @@ static struct clk_rcg2 nss_ubi0_clk_src +@@ -1131,6 +1138,7 @@ static struct clk_rcg2 nss_ubi0_clk_src = { .freq_tbl = ftbl_nss_ubi_clk_src, .hid_width = 5, .parent_map = gcc_xo_ubi32_gpll0_gpll2_gpll4_gpll6_map, @@ -87,7 +89,7 @@ Signed-off-by: Alexandru Gagniuc .clkr.hw.init = &(struct clk_init_data){ .name = "nss_ubi0_clk_src", .parent_data = gcc_xo_ubi32_pll_gpll0_gpll2_gpll4_gpll6, -@@ -1869,7 +1877,7 @@ static struct clk_branch gcc_apss_ahb_cl +@@ -1869,7 +1877,7 @@ static struct clk_branch gcc_apss_ahb_clk = { .parent_hws = (const struct clk_hw *[]){ &apss_ahb_postdiv_clk_src.clkr.hw }, .num_parents = 1, @@ -96,7 +98,7 @@ Signed-off-by: Alexandru Gagniuc .ops = &clk_branch2_ops, }, }, -@@ -1891,11 +1899,13 @@ static struct clk_rcg2 system_noc_bfdcd_ +@@ -1891,11 +1899,13 @@ static struct clk_rcg2 system_noc_bfdcd_clk_src = { .freq_tbl = ftbl_system_noc_bfdcd_clk_src, .hid_width = 5, .parent_map = gcc_xo_gpll0_gpll6_gpll0_out_main_div2_map, @@ -110,7 +112,7 @@ Signed-off-by: Alexandru Gagniuc }, }; -@@ -1945,7 +1955,7 @@ static struct clk_branch gcc_apss_axi_cl +@@ -1945,7 +1955,7 @@ static struct clk_branch gcc_apss_axi_clk = { .parent_hws = (const struct clk_hw *[]){ &apss_axi_clk_src.clkr.hw }, .num_parents = 1, @@ -128,7 +130,7 @@ Signed-off-by: Alexandru Gagniuc .ops = &clk_branch2_ops, }, }, -@@ -3163,6 +3173,7 @@ static struct clk_branch gcc_nssnoc_ppe_ +@@ -3163,6 +3173,7 @@ static struct clk_branch gcc_nssnoc_ppe_cfg_clk = { .name = "gcc_nssnoc_ppe_cfg_clk", .parent_hws = (const struct clk_hw *[]){ &nss_ppe_clk_src.clkr.hw }, @@ -136,7 +138,7 @@ Signed-off-by: Alexandru Gagniuc .flags = CLK_SET_RATE_PARENT, .ops = &clk_branch2_ops, }, -@@ -3521,7 +3532,7 @@ static struct clk_branch gcc_qdss_dap_cl +@@ -3521,7 +3532,7 @@ static struct clk_branch gcc_qdss_dap_clk = { .parent_hws = (const struct clk_hw *[]){ &qdss_dap_sync_clk_src.hw }, .num_parents = 1, @@ -145,3 +147,6 @@ Signed-off-by: Alexandru Gagniuc .ops = &clk_branch2_ops, }, }, +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1004-clk-qcom-ipq6018-add-missing-clocks.patch b/target/linux/ipq60xx/patches-5.15/1004-clk-qcom-ipq6018-add-missing-clocks.patch index 56a597ff4..335e83b87 100644 --- a/target/linux/ipq60xx/patches-5.15/1004-clk-qcom-ipq6018-add-missing-clocks.patch +++ b/target/linux/ipq60xx/patches-5.15/1004-clk-qcom-ipq6018-add-missing-clocks.patch @@ -12,9 +12,11 @@ Signed-off-by: Alexandru Gagniuc drivers/clk/qcom/gcc-ipq6018.c | 619 ++++++++++++++++++++++++++++++++- 1 file changed, 603 insertions(+), 16 deletions(-) +diff --git a/drivers/clk/qcom/gcc-ipq6018.c b/drivers/clk/qcom/gcc-ipq6018.c +index cf11c9aa5004..69d06dd4aeb8 100644 --- a/drivers/clk/qcom/gcc-ipq6018.c +++ b/drivers/clk/qcom/gcc-ipq6018.c -@@ -223,6 +223,19 @@ static struct clk_rcg2 pcnoc_bfdcd_clk_s +@@ -223,6 +223,19 @@ static struct clk_rcg2 pcnoc_bfdcd_clk_src = { }, }; @@ -34,7 +36,7 @@ Signed-off-by: Alexandru Gagniuc static struct clk_alpha_pll gpll2_main = { .offset = 0x4a000, .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], -@@ -505,6 +518,19 @@ static struct clk_rcg2 snoc_nssnoc_bfdcd +@@ -505,6 +518,19 @@ static struct clk_rcg2 snoc_nssnoc_bfdcd_clk_src = { }, }; @@ -54,7 +56,7 @@ Signed-off-by: Alexandru Gagniuc static const struct freq_tbl ftbl_apss_ahb_clk_src[] = { F(24000000, P_XO, 1, 0, 0), F(25000000, P_GPLL0_DIV2, 16, 0, 0), -@@ -1909,6 +1935,19 @@ static struct clk_rcg2 system_noc_bfdcd_ +@@ -1909,6 +1935,19 @@ static struct clk_rcg2 system_noc_bfdcd_clk_src = { }, }; @@ -74,7 +76,7 @@ Signed-off-by: Alexandru Gagniuc static const struct freq_tbl ftbl_ubi32_mem_noc_bfdcd_clk_src[] = { F(24000000, P_XO, 1, 0, 0), F(307670000, P_BIAS_PLL_NSS_NOC, 1.5, 0, 0), -@@ -1944,6 +1983,19 @@ static struct clk_rcg2 ubi32_mem_noc_bfd +@@ -1944,6 +1983,19 @@ static struct clk_rcg2 ubi32_mem_noc_bfdcd_clk_src = { }, }; @@ -94,7 +96,7 @@ Signed-off-by: Alexandru Gagniuc static struct clk_branch gcc_apss_axi_clk = { .halt_reg = 0x46020, .halt_check = BRANCH_HALT_VOTED, -@@ -2138,6 +2190,22 @@ static struct clk_branch gcc_blsp1_qup5_ +@@ -2138,6 +2190,22 @@ static struct clk_branch gcc_blsp1_qup5_spi_apps_clk = { }, }; @@ -108,7 +110,7 @@ Signed-off-by: Alexandru Gagniuc + .parent_hws = (const struct clk_hw *[]){ + &blsp1_qup6_i2c_apps_clk_src.clkr.hw }, + .num_parents = 1, -+ .flags = CLK_SET_RATE_PARENT, ++ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, + .ops = &clk_branch2_ops, + }, + }, @@ -117,7 +119,7 @@ Signed-off-by: Alexandru Gagniuc static struct clk_branch gcc_blsp1_qup6_spi_apps_clk = { .halt_reg = 0x0700c, .clkr = { -@@ -2681,6 +2749,454 @@ static struct clk_rcg2 lpass_q6_axim_clk +@@ -2681,6 +2749,454 @@ static struct clk_rcg2 lpass_q6_axim_clk_src = { }, }; @@ -572,7 +574,7 @@ Signed-off-by: Alexandru Gagniuc static struct freq_tbl ftbl_rbcpr_wcss_clk_src[] = { F(24000000, P_XO, 1, 0, 0), F(50000000, P_GPLL0, 16, 0, 0), -@@ -2700,6 +3216,23 @@ static struct clk_rcg2 rbcpr_wcss_clk_sr +@@ -2700,6 +3216,23 @@ static struct clk_rcg2 rbcpr_wcss_clk_src = { }, }; @@ -596,7 +598,7 @@ Signed-off-by: Alexandru Gagniuc static struct clk_branch gcc_lpass_core_axim_clk = { .halt_reg = 0x1F028, .clkr = { -@@ -3522,6 +4055,22 @@ static struct clk_branch gcc_prng_ahb_cl +@@ -3522,6 +4055,22 @@ static struct clk_branch gcc_prng_ahb_clk = { }, }; @@ -619,7 +621,7 @@ Signed-off-by: Alexandru Gagniuc static struct clk_branch gcc_qdss_dap_clk = { .halt_reg = 0x29084, .clkr = { -@@ -4195,6 +4744,9 @@ static struct clk_hw *gcc_ipq6018_hws[] +@@ -4195,6 +4744,9 @@ static struct clk_hw *gcc_ipq6018_hws[] = { &gpll6_out_main_div2.hw, &qdss_dap_sync_clk_src.hw, &qdss_tsctr_div2_clk_src.hw, @@ -629,7 +631,7 @@ Signed-off-by: Alexandru Gagniuc }; static struct clk_regmap *gcc_ipq6018_clks[] = { -@@ -4292,6 +4844,7 @@ static struct clk_regmap *gcc_ipq6018_cl +@@ -4292,6 +4844,7 @@ static struct clk_regmap *gcc_ipq6018_clks[] = { [GCC_BLSP1_QUP4_SPI_APPS_CLK] = &gcc_blsp1_qup4_spi_apps_clk.clkr, [GCC_BLSP1_QUP5_I2C_APPS_CLK] = &gcc_blsp1_qup5_i2c_apps_clk.clkr, [GCC_BLSP1_QUP5_SPI_APPS_CLK] = &gcc_blsp1_qup5_spi_apps_clk.clkr, @@ -637,7 +639,7 @@ Signed-off-by: Alexandru Gagniuc [GCC_BLSP1_QUP6_SPI_APPS_CLK] = &gcc_blsp1_qup6_spi_apps_clk.clkr, [GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr, [GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr, -@@ -4357,6 +4910,7 @@ static struct clk_regmap *gcc_ipq6018_cl +@@ -4357,6 +4910,7 @@ static struct clk_regmap *gcc_ipq6018_clks[] = { [GCC_SYS_NOC_PCIE0_AXI_CLK] = &gcc_sys_noc_pcie0_axi_clk.clkr, [GCC_PCIE0_PIPE_CLK] = &gcc_pcie0_pipe_clk.clkr, [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr, @@ -645,7 +647,7 @@ Signed-off-by: Alexandru Gagniuc [GCC_QDSS_DAP_CLK] = &gcc_qdss_dap_clk.clkr, [GCC_QPIC_AHB_CLK] = &gcc_qpic_ahb_clk.clkr, [GCC_QPIC_CLK] = &gcc_qpic_clk.clkr, -@@ -4398,9 +4952,35 @@ static struct clk_regmap *gcc_ipq6018_cl +@@ -4398,9 +4952,35 @@ static struct clk_regmap *gcc_ipq6018_clks[] = { [PCIE0_RCHNG_CLK_SRC] = &pcie0_rchng_clk_src.clkr, [GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr, [PCIE0_RCHNG_CLK] = &gcc_pcie0_rchng_clk.clkr, @@ -681,7 +683,7 @@ Signed-off-by: Alexandru Gagniuc [GCC_LPASS_CORE_AXIM_CLK] = &gcc_lpass_core_axim_clk.clkr, [LPASS_CORE_AXIM_CLK_SRC] = &lpass_core_axim_clk_src.clkr, [GCC_LPASS_SNOC_CFG_CLK] = &gcc_lpass_snoc_cfg_clk.clkr, -@@ -4416,6 +4996,9 @@ static struct clk_regmap *gcc_ipq6018_cl +@@ -4416,6 +4996,9 @@ static struct clk_regmap *gcc_ipq6018_clks[] = { [GCC_MEM_NOC_UBI32_CLK] = &gcc_mem_noc_ubi32_clk.clkr, [GCC_MEM_NOC_LPASS_CLK] = &gcc_mem_noc_lpass_clk.clkr, [GCC_SNOC_LPASS_CFG_CLK] = &gcc_snoc_lpass_cfg_clk.clkr, @@ -691,7 +693,7 @@ Signed-off-by: Alexandru Gagniuc [QDSS_STM_CLK_SRC] = &qdss_stm_clk_src.clkr, [QDSS_TRACECLKIN_CLK_SRC] = &qdss_traceclkin_clk_src.clkr, }; -@@ -4528,24 +5111,24 @@ static const struct qcom_reset_map gcc_i +@@ -4528,24 +5111,24 @@ static const struct qcom_reset_map gcc_ipq6018_resets[] = { [GCC_PCIE0_AHB_ARES] = { 0x75040, 5 }, [GCC_PCIE0_AXI_MASTER_STICKY_ARES] = { 0x75040, 6 }, [GCC_PCIE0_AXI_SLAVE_STICKY_ARES] = { 0x75040, 7 }, @@ -732,7 +734,7 @@ Signed-off-by: Alexandru Gagniuc [GCC_LPASS_BCR] = {0x1F000, 0}, [GCC_UBI32_TBU_BCR] = {0x65000, 0}, [GCC_LPASS_TBU_BCR] = {0x6C000, 0}, -@@ -4597,6 +5180,10 @@ static const struct qcom_cc_desc gcc_ipq +@@ -4597,6 +5180,10 @@ static const struct qcom_cc_desc gcc_ipq6018_desc = { static int gcc_ipq6018_probe(struct platform_device *pdev) { struct regmap *regmap; @@ -743,3 +745,6 @@ Signed-off-by: Alexandru Gagniuc regmap = qcom_cc_map(pdev, &gcc_ipq6018_desc); if (IS_ERR(regmap)) +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1005-clk-qcom-ipq6018-update-Huayra-PLL-settings.patch b/target/linux/ipq60xx/patches-5.15/1005-clk-qcom-ipq6018-update-Huayra-PLL-settings.patch index 9f8ced9bd..edbfa9d7d 100644 --- a/target/linux/ipq60xx/patches-5.15/1005-clk-qcom-ipq6018-update-Huayra-PLL-settings.patch +++ b/target/linux/ipq60xx/patches-5.15/1005-clk-qcom-ipq6018-update-Huayra-PLL-settings.patch @@ -13,9 +13,11 @@ Signed-off-by: Alexandru Gagniuc drivers/clk/qcom/gcc-ipq6018.c | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) +diff --git a/drivers/clk/qcom/clk-alpha-pll.c b/drivers/clk/qcom/clk-alpha-pll.c +index 8f65b9bdafce..6179f2404216 100644 --- a/drivers/clk/qcom/clk-alpha-pll.c +++ b/drivers/clk/qcom/clk-alpha-pll.c -@@ -287,6 +287,12 @@ void clk_alpha_pll_configure(struct clk_ +@@ -287,6 +287,12 @@ void clk_alpha_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap, regmap_update_bits(regmap, PLL_USER_CTL(pll), mask, val); @@ -28,6 +30,8 @@ Signed-off-by: Alexandru Gagniuc if (pll->flags & SUPPORTS_FSM_MODE) qcom_pll_set_fsm_mode(regmap, PLL_MODE(pll), 6, 0); } +diff --git a/drivers/clk/qcom/gcc-ipq6018.c b/drivers/clk/qcom/gcc-ipq6018.c +index 69d06dd4aeb8..98f0e950f5c1 100644 --- a/drivers/clk/qcom/gcc-ipq6018.c +++ b/drivers/clk/qcom/gcc-ipq6018.c @@ -4711,15 +4711,18 @@ static struct clk_branch gcc_dcc_clk = { @@ -52,3 +56,6 @@ Signed-off-by: Alexandru Gagniuc }; static const struct alpha_pll_config nss_crypto_pll_config = { +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1006-clk-qcom-ipq6018-openwrt-update-parent-mapping-for-p.patch b/target/linux/ipq60xx/patches-5.15/1006-clk-qcom-ipq6018-openwrt-update-parent-mapping-for-p.patch deleted file mode 100644 index 869b4d67c..000000000 --- a/target/linux/ipq60xx/patches-5.15/1006-clk-qcom-ipq6018-openwrt-update-parent-mapping-for-p.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 3ca697b006bf7790a0dc158944808221bf36693c Mon Sep 17 00:00:00 2001 -From: Alexandru Gagniuc -Date: Sat, 27 Aug 2022 22:56:57 -0500 -Subject: [PATCH 1006/1011] clk: qcom: ipq6018: openwrt: update parent mapping - for port clocks - -According to our resident expert on Qualcomm IPQ: - - " Ughh, they messed up like they always do, and instead of fixing - that they just hack it. - - I assume they messed up the parenting as they only set fw_name - which is locally available, but SSDK is trying to set parenting - manually without them being available as you need to pass them by - DT node. - - So, what probably needs to be done instead of hacking it together - and itself is a workaround for a lack of proper switch driver is - to also set the .name property so it will still fallback to global - clock names - " - -To allow the SSDK to set clock parents, also set the ".name" field of -uniphy clocks, as suggested by the expert. - -Signed-off-by: Alexandru Gagniuc ---- - drivers/clk/qcom/gcc-ipq6018.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - ---- a/drivers/clk/qcom/gcc-ipq6018.c -+++ b/drivers/clk/qcom/gcc-ipq6018.c -@@ -567,10 +567,10 @@ static const struct freq_tbl ftbl_nss_po - static const struct clk_parent_data - gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias[] = { - { .fw_name = "xo" }, -- { .fw_name = "uniphy0_gcc_rx_clk" }, -- { .fw_name = "uniphy0_gcc_tx_clk" }, -- { .fw_name = "uniphy1_gcc_rx_clk" }, -- { .fw_name = "uniphy1_gcc_tx_clk" }, -+ { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, -+ { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, -+ { .fw_name = "uniphy1_gcc_rx_clk", .name = "uniphy1_gcc_rx_clk" }, -+ { .fw_name = "uniphy1_gcc_tx_clk", .name = "uniphy1_gcc_tx_clk" }, - { .hw = &ubi32_pll.clkr.hw }, - { .fw_name = "bias_pll_cc_clk" }, - }; -@@ -614,10 +614,10 @@ static const struct freq_tbl ftbl_nss_po - static const struct clk_parent_data - gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias[] = { - { .fw_name = "xo" }, -- { .fw_name = "uniphy0_gcc_tx_clk" }, -- { .fw_name = "uniphy0_gcc_rx_clk" }, -- { .fw_name = "uniphy1_gcc_tx_clk" }, -- { .fw_name = "uniphy1_gcc_rx_clk" }, -+ { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, -+ { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, -+ { .fw_name = "uniphy1_gcc_tx_clk", .name = "uniphy1_gcc_tx_clk" }, -+ { .fw_name = "uniphy1_gcc_rx_clk", .name = "uniphy1_gcc_rx_clk" }, - { .hw = &ubi32_pll.clkr.hw }, - { .fw_name = "bias_pll_cc_clk" }, - }; diff --git a/target/linux/ipq60xx/patches-5.15/1006-clk-qcom-pq6018-workaround-networking-clock-parenting.patch b/target/linux/ipq60xx/patches-5.15/1006-clk-qcom-pq6018-workaround-networking-clock-parenting.patch new file mode 100644 index 000000000..4affa4c08 --- /dev/null +++ b/target/linux/ipq60xx/patches-5.15/1006-clk-qcom-pq6018-workaround-networking-clock-parenting.patch @@ -0,0 +1,111 @@ +From e09c2545447f9ff9fbcd3fab90c3a5cab57b51bf Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Tue, 11 Oct 2022 23:38:45 +0200 +Subject: [PATCH] clk: qcom: ipq6018: workaround networking clock parenting + +Currently, networking clocks are only looked up by fw_name however, +these are registered and setup by SSDK and are not available to the +GCC driver at all, so work around that by providing a global name +fallback. + +While we are here, provide global fallback for bias_pll_cc_clk and +bias_pll_nss_noc_clk as well as these are fixed clocks also not available +to the driver. + +Signed-off-by: Robert Marko +--- + drivers/clk/qcom/gcc-ipq6018.c | 39 +++++++++++++++++----------------- + 1 file changed, 19 insertions(+), 20 deletions(-) + +diff --git a/drivers/clk/qcom/gcc-ipq6018.c b/drivers/clk/qcom/gcc-ipq6018.c +index 764a8aa98a76f4..767996448ca948 100644 +--- a/drivers/clk/qcom/gcc-ipq6018.c ++++ b/drivers/clk/qcom/gcc-ipq6018.c +@@ -369,7 +369,7 @@ static const struct freq_tbl ftbl_nss_ppe_clk_src[] = { + + static const struct clk_parent_data gcc_xo_bias_gpll0_gpll4_nss_ubi32[] = { + { .fw_name = "xo" }, +- { .fw_name = "bias_pll_cc_clk" }, ++ { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, + { .hw = &gpll0.clkr.hw }, + { .hw = &gpll4.clkr.hw }, + { .hw = &nss_crypto_pll.clkr.hw }, +@@ -535,12 +535,12 @@ static const struct freq_tbl ftbl_nss_port5_rx_clk_src[] = { + static const struct clk_parent_data + gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias[] = { + { .fw_name = "xo" }, +- { .fw_name = "uniphy0_gcc_rx_clk" }, +- { .fw_name = "uniphy0_gcc_tx_clk" }, +- { .fw_name = "uniphy1_gcc_rx_clk" }, +- { .fw_name = "uniphy1_gcc_tx_clk" }, ++ { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, ++ { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, ++ { .fw_name = "uniphy1_gcc_rx_clk", .name = "uniphy1_gcc_rx_clk" }, ++ { .fw_name = "uniphy1_gcc_tx_clk", .name = "uniphy1_gcc_tx_clk" }, + { .hw = &ubi32_pll.clkr.hw }, +- { .fw_name = "bias_pll_cc_clk" }, ++ { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, + }; + + static const struct parent_map +@@ -582,12 +582,12 @@ static const struct freq_tbl ftbl_nss_port5_tx_clk_src[] = { + static const struct clk_parent_data + gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias[] = { + { .fw_name = "xo" }, +- { .fw_name = "uniphy0_gcc_tx_clk" }, +- { .fw_name = "uniphy0_gcc_rx_clk" }, +- { .fw_name = "uniphy1_gcc_tx_clk" }, +- { .fw_name = "uniphy1_gcc_rx_clk" }, ++ { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, ++ { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, ++ { .fw_name = "uniphy1_gcc_tx_clk", .name = "uniphy1_gcc_tx_clk" }, ++ { .fw_name = "uniphy1_gcc_rx_clk", .name = "uniphy1_gcc_rx_clk" }, + { .hw = &ubi32_pll.clkr.hw }, +- { .fw_name = "bias_pll_cc_clk" }, ++ { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, + }; + + static const struct parent_map +@@ -723,10 +723,10 @@ static const struct freq_tbl ftbl_nss_port1_rx_clk_src[] = { + + static const struct clk_parent_data gcc_xo_uniphy0_rx_tx_ubi32_bias[] = { + { .fw_name = "xo" }, +- { .fw_name = "uniphy0_gcc_rx_clk" }, +- { .fw_name = "uniphy0_gcc_tx_clk" }, ++ { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, ++ { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, + { .hw = &ubi32_pll.clkr.hw }, +- { .fw_name = "bias_pll_cc_clk" }, ++ { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, + }; + + static const struct parent_map gcc_xo_uniphy0_rx_tx_ubi32_bias_map[] = { +@@ -759,10 +759,10 @@ static const struct freq_tbl ftbl_nss_port1_tx_clk_src[] = { + + static const struct clk_parent_data gcc_xo_uniphy0_tx_rx_ubi32_bias[] = { + { .fw_name = "xo" }, +- { .fw_name = "uniphy0_gcc_tx_clk" }, +- { .fw_name = "uniphy0_gcc_rx_clk" }, ++ { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, ++ { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, + { .hw = &ubi32_pll.clkr.hw }, +- { .fw_name = "bias_pll_cc_clk" }, ++ { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, + }; + + static const struct parent_map gcc_xo_uniphy0_tx_rx_ubi32_bias_map[] = { +@@ -1906,12 +1906,11 @@ static const struct freq_tbl ftbl_ubi32_mem_noc_bfdcd_clk_src[] = { + { } + }; + +-static const struct clk_parent_data +- gcc_xo_gpll0_gpll2_bias_pll_nss_noc_clk[] = { ++static const struct clk_parent_data gcc_xo_gpll0_gpll2_bias_pll_nss_noc_clk[] = { + { .fw_name = "xo" }, + { .hw = &gpll0.clkr.hw }, + { .hw = &gpll2.clkr.hw }, +- { .fw_name = "bias_pll_nss_noc_clk" }, ++ { .fw_name = "bias_pll_nss_noc_clk", .name = "bias_pll_nss_noc_clk" }, + }; + + static const struct parent_map gcc_xo_gpll0_gpll2_bias_pll_nss_noc_clk_map[] = { diff --git a/target/linux/ipq60xx/patches-5.15/1007-arm64-dts-qcom-ipq6018-Add-missing-fixed-clocks.patch b/target/linux/ipq60xx/patches-5.15/1007-arm64-dts-qcom-ipq6018-Add-missing-fixed-clocks.patch index 0452e6a70..2aa0011c3 100644 --- a/target/linux/ipq60xx/patches-5.15/1007-arm64-dts-qcom-ipq6018-Add-missing-fixed-clocks.patch +++ b/target/linux/ipq60xx/patches-5.15/1007-arm64-dts-qcom-ipq6018-Add-missing-fixed-clocks.patch @@ -8,9 +8,11 @@ Signed-off-by: Alexandru Gagniuc arch/arm64/boot/dts/qcom/ipq6018.dtsi | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi +index 5ac0aafc620e..a9cc92ed03eb 100644 --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -27,6 +27,18 @@ +@@ -27,6 +27,18 @@ xo: xo { clock-frequency = <24000000>; #clock-cells = <0>; }; @@ -29,7 +31,7 @@ Signed-off-by: Alexandru Gagniuc }; cpus: cpus { -@@ -247,8 +259,14 @@ +@@ -247,8 +259,14 @@ qpic_pins: qpic-pins { gcc: gcc@1800000 { compatible = "qcom,gcc-ipq6018"; reg = <0x0 0x01800000 0x0 0x80000>; @@ -46,3 +48,6 @@ Signed-off-by: Alexandru Gagniuc #clock-cells = <1>; #reset-cells = <1>; }; +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1008-remoteproc-wcss-Add-ipq6018-support-in-remoteproc.patch b/target/linux/ipq60xx/patches-5.15/1008-remoteproc-wcss-Add-ipq6018-support-in-remoteproc.patch index 0e4203e8c..247ec31b7 100644 --- a/target/linux/ipq60xx/patches-5.15/1008-remoteproc-wcss-Add-ipq6018-support-in-remoteproc.patch +++ b/target/linux/ipq60xx/patches-5.15/1008-remoteproc-wcss-Add-ipq6018-support-in-remoteproc.patch @@ -8,6 +8,8 @@ Signed-off-by: anusha drivers/remoteproc/qcom_q6v5_wcss.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index 92c240976f55..1c33f7878736 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -91,7 +91,7 @@ @@ -19,7 +21,7 @@ Signed-off-by: anusha WCSS_QCS404, }; -@@ -902,7 +902,7 @@ static int q6v5_wcss_init_mmio(struct q6 +@@ -902,7 +902,7 @@ static int q6v5_wcss_init_mmio(struct q6v5_wcss *wcss, if (!wcss->reg_base) return -ENOMEM; @@ -28,7 +30,7 @@ Signed-off-by: anusha res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "rmb"); wcss->rmb_base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(wcss->rmb_base)) -@@ -1173,6 +1173,21 @@ static int q6v5_wcss_remove(struct platf +@@ -1173,6 +1173,21 @@ static int q6v5_wcss_remove(struct platform_device *pdev) return 0; } @@ -50,7 +52,7 @@ Signed-off-by: anusha static const struct wcss_data wcss_ipq8074_res_init = { .init_clock = ipq8074_init_clock, .q6_firmware_name = "IPQ8074/q6_fw.mdt", -@@ -1206,6 +1221,7 @@ static const struct wcss_data wcss_qcs40 +@@ -1206,6 +1221,7 @@ static const struct wcss_data wcss_qcs404_res_init = { }; static const struct of_device_id q6v5_wcss_of_match[] = { @@ -58,3 +60,6 @@ Signed-off-by: anusha { .compatible = "qcom,ipq8074-wcss-pil", .data = &wcss_ipq8074_res_init }, { .compatible = "qcom,qcs404-wcss-pil", .data = &wcss_qcs404_res_init }, { }, +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1009-ipq6018-rproc-Add-non-secure-Q6-bringup-sequence.patch b/target/linux/ipq60xx/patches-5.15/1009-ipq6018-rproc-Add-non-secure-Q6-bringup-sequence.patch index 32f57586f..550e022b4 100644 --- a/target/linux/ipq60xx/patches-5.15/1009-ipq6018-rproc-Add-non-secure-Q6-bringup-sequence.patch +++ b/target/linux/ipq60xx/patches-5.15/1009-ipq6018-rproc-Add-non-secure-Q6-bringup-sequence.patch @@ -12,9 +12,11 @@ Signed-off-by: Manikanta Mylavarapu drivers/remoteproc/qcom_q6v5_wcss.c | 223 ++++++++++++++++++++++++-- 2 files changed, 227 insertions(+), 16 deletions(-) +diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi +index a9cc92ed03eb..d8da83aa8bda 100644 --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -618,8 +618,24 @@ +@@ -618,8 +618,24 @@ q6v5_wcss: remoteproc@cd00000 { "wcss_reset", "wcss_q6_reset"; @@ -41,6 +43,8 @@ Signed-off-by: Manikanta Mylavarapu qcom,halt-regs = <&tcsr 0x18000 0x1b000 0xe000>; +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index 1c33f7878736..d07b710c42db 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -27,6 +27,7 @@ @@ -157,7 +161,7 @@ Signed-off-by: Manikanta Mylavarapu /* Assert resets, stop core */ val = readl(wcss->reg_base + Q6SS_RESET_REG); val |= Q6SS_CORE_ARES | Q6SS_BUS_ARES_ENABLE | Q6SS_STOP_CORE; -@@ -195,7 +268,19 @@ static int q6v5_wcss_reset(struct q6v5_w +@@ -195,7 +268,19 @@ static int q6v5_wcss_reset(struct q6v5_wcss *wcss) writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); udelay(1); @@ -177,7 +181,7 @@ Signed-off-by: Manikanta Mylavarapu val |= Q6SS_LDO_BYP; writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); -@@ -205,6 +290,7 @@ static int q6v5_wcss_reset(struct q6v5_w +@@ -205,6 +290,7 @@ static int q6v5_wcss_reset(struct q6v5_wcss *wcss) writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); /* Deassert memory peripheral sleep and L2 memory standby */ @@ -185,7 +189,7 @@ Signed-off-by: Manikanta Mylavarapu val |= Q6SS_L2DATA_STBY_N | Q6SS_SLP_RET_N; writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); -@@ -219,7 +305,10 @@ static int q6v5_wcss_reset(struct q6v5_w +@@ -219,7 +305,10 @@ static int q6v5_wcss_reset(struct q6v5_wcss *wcss) * array to turn on. */ val |= readl(wcss->reg_base + Q6SS_MEM_PWR_CTL); @@ -197,7 +201,7 @@ Signed-off-by: Manikanta Mylavarapu } /* Remove word line clamp */ val = readl(wcss->reg_base + Q6SS_PWR_CTL_REG); -@@ -227,6 +316,7 @@ static int q6v5_wcss_reset(struct q6v5_w +@@ -227,6 +316,7 @@ static int q6v5_wcss_reset(struct q6v5_wcss *wcss) writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); /* Remove IO clamp */ @@ -205,7 +209,7 @@ Signed-off-by: Manikanta Mylavarapu val &= ~Q6SS_CLAMP_IO; writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); -@@ -245,6 +335,16 @@ static int q6v5_wcss_reset(struct q6v5_w +@@ -245,6 +335,16 @@ static int q6v5_wcss_reset(struct q6v5_wcss *wcss) val &= ~Q6SS_STOP_CORE; writel(val, wcss->reg_base + Q6SS_RESET_REG); @@ -222,7 +226,7 @@ Signed-off-by: Manikanta Mylavarapu return 0; } -@@ -376,7 +476,7 @@ static int q6v5_wcss_qcs404_power_on(str +@@ -376,7 +476,7 @@ static int q6v5_wcss_qcs404_power_on(struct q6v5_wcss *wcss) /* Read CLKOFF bit to go low indicating CLK is enabled */ ret = readl_poll_timeout(wcss->reg_base + Q6SS_XO_CBCR, val, !(val & BIT(31)), 1, @@ -231,7 +235,7 @@ Signed-off-by: Manikanta Mylavarapu if (ret) { dev_err(wcss->dev, "xo cbcr enabling timed out (rc:%d)\n", ret); -@@ -528,13 +628,18 @@ static void q6v5_wcss_halt_axi_port(stru +@@ -528,13 +628,18 @@ static void q6v5_wcss_halt_axi_port(struct q6v5_wcss *wcss, unsigned long timeout; unsigned int val; int ret; @@ -254,7 +258,7 @@ Signed-off-by: Manikanta Mylavarapu regmap_write(halt_map, offset + AXI_HALTREQ_REG, 1); /* Wait for halt */ -@@ -547,12 +652,14 @@ static void q6v5_wcss_halt_axi_port(stru +@@ -547,12 +652,14 @@ static void q6v5_wcss_halt_axi_port(struct q6v5_wcss *wcss, msleep(1); } @@ -274,7 +278,7 @@ Signed-off-by: Manikanta Mylavarapu } static int q6v5_qcs404_wcss_shutdown(struct q6v5_wcss *wcss) -@@ -621,6 +728,7 @@ static int q6v5_qcs404_wcss_shutdown(str +@@ -621,6 +728,7 @@ static int q6v5_qcs404_wcss_shutdown(struct q6v5_wcss *wcss) static int q6v5_wcss_powerdown(struct q6v5_wcss *wcss) { @@ -282,7 +286,7 @@ Signed-off-by: Manikanta Mylavarapu int ret; u32 val; -@@ -638,21 +746,26 @@ static int q6v5_wcss_powerdown(struct q6 +@@ -638,21 +746,26 @@ static int q6v5_wcss_powerdown(struct q6v5_wcss *wcss) writel(val, wcss->rmb_base + SSCAON_CONFIG); /* 4 - SSCAON_CONFIG 1 */ @@ -310,7 +314,7 @@ Signed-off-by: Manikanta Mylavarapu /* 7 - Disable WCSSAON_CONFIG 13 */ val = readl(wcss->rmb_base + SSCAON_CONFIG); -@@ -662,6 +775,13 @@ static int q6v5_wcss_powerdown(struct q6 +@@ -662,6 +775,13 @@ static int q6v5_wcss_powerdown(struct q6v5_wcss *wcss) /* 8 - De-assert WCSS/Q6 HALTREQ */ reset_control_assert(wcss->wcss_reset); @@ -324,7 +328,7 @@ Signed-off-by: Manikanta Mylavarapu return 0; } -@@ -670,6 +790,12 @@ static int q6v5_q6_powerdown(struct q6v5 +@@ -670,6 +790,12 @@ static int q6v5_q6_powerdown(struct q6v5_wcss *wcss) int ret; u32 val; int i; @@ -337,7 +341,7 @@ Signed-off-by: Manikanta Mylavarapu /* 1 - Halt Q6 bus interface */ q6v5_wcss_halt_axi_port(wcss, wcss->halt_map, wcss->halt_q6); -@@ -685,14 +811,17 @@ static int q6v5_q6_powerdown(struct q6v5 +@@ -685,14 +811,17 @@ static int q6v5_q6_powerdown(struct q6v5_wcss *wcss) writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); /* 4 - Clamp WL */ @@ -355,7 +359,7 @@ Signed-off-by: Manikanta Mylavarapu val &= ~Q6SS_SLP_RET_N; writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); -@@ -710,6 +839,7 @@ static int q6v5_q6_powerdown(struct q6v5 +@@ -710,6 +839,7 @@ static int q6v5_q6_powerdown(struct q6v5_wcss *wcss) writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); /* 9 - Turn off BHS */ @@ -363,7 +367,7 @@ Signed-off-by: Manikanta Mylavarapu val &= ~Q6SS_BHS_ON; writel(val, wcss->reg_base + Q6SS_PWR_CTL_REG); udelay(1); -@@ -717,7 +847,7 @@ static int q6v5_q6_powerdown(struct q6v5 +@@ -717,7 +847,7 @@ static int q6v5_q6_powerdown(struct q6v5_wcss *wcss) /* 10 - Wait till BHS Reset is done */ ret = readl_poll_timeout(wcss->reg_base + Q6SS_BHS_STATUS, val, !(val & BHS_EN_REST_ACK), 1000, @@ -372,7 +376,7 @@ Signed-off-by: Manikanta Mylavarapu if (ret) { dev_err(wcss->dev, "BHS_STATUS not OFF (rc:%d)\n", ret); return ret; -@@ -725,9 +855,23 @@ static int q6v5_q6_powerdown(struct q6v5 +@@ -725,9 +855,23 @@ static int q6v5_q6_powerdown(struct q6v5_wcss *wcss) /* 11 - Assert WCSS reset */ reset_control_assert(wcss->wcss_reset); @@ -396,7 +400,7 @@ Signed-off-by: Manikanta Mylavarapu return 0; } -@@ -966,6 +1110,57 @@ static int q6v5_alloc_memory_region(stru +@@ -966,6 +1110,57 @@ static int q6v5_alloc_memory_region(struct q6v5_wcss *wcss) return 0; } @@ -454,7 +458,7 @@ Signed-off-by: Manikanta Mylavarapu static int ipq8074_init_clock(struct q6v5_wcss *wcss) { int ret; -@@ -1174,7 +1369,7 @@ static int q6v5_wcss_remove(struct platf +@@ -1174,7 +1369,7 @@ static int q6v5_wcss_remove(struct platform_device *pdev) } static const struct wcss_data wcss_ipq6018_res_init = { @@ -463,3 +467,6 @@ Signed-off-by: Manikanta Mylavarapu .q6_firmware_name = "IPQ6018/q6_fw.mdt", .m3_firmware_name = "IPQ6018/m3_fw.mdt", .crash_reason_smem = WCSS_CRASH_REASON, +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1010-Simplify-ipq6018-rproc-Add-non-secure-Q6-bringup-seq.patch b/target/linux/ipq60xx/patches-5.15/1010-Simplify-ipq6018-rproc-Add-non-secure-Q6-bringup-seq.patch index fb6777eca..a62f30b9c 100644 --- a/target/linux/ipq60xx/patches-5.15/1010-Simplify-ipq6018-rproc-Add-non-secure-Q6-bringup-seq.patch +++ b/target/linux/ipq60xx/patches-5.15/1010-Simplify-ipq6018-rproc-Add-non-secure-Q6-bringup-seq.patch @@ -8,9 +8,11 @@ Subject: [PATCH 1010/1011] Simplify "ipq6018: rproc: Add non secure Q6 bringup drivers/remoteproc/qcom_q6v5_wcss.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) +diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c +index d07b710c42db..694d97a0d807 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c -@@ -628,18 +628,13 @@ static void q6v5_wcss_halt_axi_port(stru +@@ -628,18 +628,13 @@ static void q6v5_wcss_halt_axi_port(struct q6v5_wcss *wcss, unsigned long timeout; unsigned int val; int ret; @@ -33,7 +35,7 @@ Subject: [PATCH 1010/1011] Simplify "ipq6018: rproc: Add non secure Q6 bringup regmap_write(halt_map, offset + AXI_HALTREQ_REG, 1); /* Wait for halt */ -@@ -652,14 +647,12 @@ static void q6v5_wcss_halt_axi_port(stru +@@ -652,14 +647,12 @@ static void q6v5_wcss_halt_axi_port(struct q6v5_wcss *wcss, msleep(1); } @@ -53,3 +55,6 @@ Subject: [PATCH 1010/1011] Simplify "ipq6018: rproc: Add non secure Q6 bringup } static int q6v5_qcs404_wcss_shutdown(struct q6v5_wcss *wcss) +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1011-HACK-q6v5_wcss-Sprinkle-pointless-debug-print-statem.patch b/target/linux/ipq60xx/patches-5.15/1011-HACK-q6v5_wcss-Sprinkle-pointless-debug-print-statem.patch deleted file mode 100644 index 9a6718a93..000000000 --- a/target/linux/ipq60xx/patches-5.15/1011-HACK-q6v5_wcss-Sprinkle-pointless-debug-print-statem.patch +++ /dev/null @@ -1,180 +0,0 @@ -From d5701fe34dbf374ce3518a38695f713d02268232 Mon Sep 17 00:00:00 2001 -From: Alexandru Gagniuc -Date: Mon, 29 Aug 2022 21:45:09 -0500 -Subject: [PATCH 1011/1011] [HACK] q6v5_wcss: Sprinkle pointless debug print - statements - ---- - drivers/remoteproc/qcom_common.c | 4 ++++ - drivers/remoteproc/qcom_q6v5_wcss.c | 25 ++++++++++++++++++++++++- - drivers/remoteproc/remoteproc_core.c | 8 ++++++++ - 3 files changed, 36 insertions(+), 1 deletion(-) - ---- a/drivers/remoteproc/qcom_common.c -+++ b/drivers/remoteproc/qcom_common.c -@@ -201,7 +201,9 @@ static void glink_subdev_unprepare(struc - { - struct qcom_rproc_glink *glink = to_glink_subdev(subdev); - -+ dev_err(glink->dev, "%s: presub \n", __func__); - qcom_glink_ssr_notify(glink->ssr_name); -+ dev_err(glink->dev, "%s: done \n", __func__); - } - - /** -@@ -458,8 +460,10 @@ static void ssr_notify_unprepare(struct - .crashed = false, - }; - -+ pr_err("%s: notif \n", __func__); - srcu_notifier_call_chain(&ssr->info->notifier_list, - QCOM_SSR_AFTER_SHUTDOWN, &data); -+ pr_err("%s: done \n", __func__); - } - - /** ---- a/drivers/remoteproc/qcom_q6v5_wcss.c -+++ b/drivers/remoteproc/qcom_q6v5_wcss.c -@@ -178,6 +178,9 @@ static int ipq6018_clks_prepare_enable(s - { - int ret; - -+ dev_err(wcss->dev, "%s\n", __func__); -+ -+ - ret = clk_prepare_enable(wcss->gcc_sys_noc_wcss_ahb_clk); - if (ret) - return ret; -@@ -212,6 +215,8 @@ static int q6v5_wcss_reset(struct q6v5_w - u32 val; - int i; - -+ dev_err(wcss->dev, "%s\n", __func__); -+ - desc = device_get_match_data(wcss->dev); - if (desc == &wcss_ipq6018_res_init) { - if (desc->aon_reset_required) { -@@ -353,6 +358,8 @@ static int q6v5_wcss_start(struct rproc - struct q6v5_wcss *wcss = rproc->priv; - int ret; - -+ dev_err(wcss->dev, "%s\n", __func__); -+ - ret = clk_prepare_enable(wcss->prng_clk); - if (ret) { - dev_err(wcss->dev, "prng clock enable failed\n"); -@@ -367,6 +374,8 @@ static int q6v5_wcss_start(struct rproc - dev_err(wcss->dev, "wcss_reset failed\n"); - return ret; - } -+ -+ dev_err(wcss->dev, "%s: I'm scared, therefore I goto\n", __func__); - goto wait_for_reset; - } - -@@ -874,6 +883,8 @@ static int q6v5_wcss_stop(struct rproc * - struct q6v5_wcss *wcss = rproc->priv; - int ret; - -+ dev_err(wcss->dev, "%s\n", __func__); -+ - if (wcss->need_mem_protection) { - ret = qcom_scm_pas_shutdown(WCNSS_PAS_ID); - if (ret) { -@@ -885,6 +896,7 @@ static int q6v5_wcss_stop(struct rproc * - - /* WCSS powerdown */ - if (wcss->requires_force_stop) { -+ dev_err(wcss->dev, "%s: Forcetopsky \n", __func__); - ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL); - if (ret == -ETIMEDOUT) { - dev_err(wcss->dev, "timed out on wait\n"); -@@ -897,10 +909,12 @@ static int q6v5_wcss_stop(struct rproc * - if (ret) - return ret; - } else { -+ dev_err(wcss->dev, "%s: Preodonsky \n", __func__); - ret = q6v5_wcss_powerdown(wcss); - if (ret) - return ret; - -+ dev_err(wcss->dev, "%s: Podonsky \n", __func__); - /* Q6 Power down */ - ret = q6v5_q6_powerdown(wcss); - if (ret) -@@ -908,9 +922,14 @@ static int q6v5_wcss_stop(struct rproc * - } - - pas_done: -+ dev_err(wcss->dev, "%s: pasdonsky \n", __func__); - clk_disable_unprepare(wcss->prng_clk); - qcom_q6v5_unprepare(&wcss->q6v5); - -+ dev_err(wcss->dev, "%s: outsky \n", __func__); -+ WARN_ON(1); -+ mdelay(420); -+ - return 0; - } - -@@ -1106,6 +1125,8 @@ static int q6v5_alloc_memory_region(stru - static int ipq6018_init_clock(struct q6v5_wcss *wcss) - { - int ret; -+ dev_err(wcss->dev, "%s\n", __func__); -+ - - wcss->prng_clk = devm_clk_get(wcss->dev, "prng"); - if (IS_ERR(wcss->prng_clk)) { -@@ -1276,6 +1297,8 @@ static int q6v5_wcss_probe(struct platfo - struct rproc *rproc; - int ret; - -+ dev_err(&pdev->dev, "%s\n", __func__); -+ - desc = device_get_match_data(&pdev->dev); - if (!desc) - return -EINVAL; -@@ -1372,7 +1395,7 @@ static const struct wcss_data wcss_ipq60 - .ssr_name = "q6wcss", - .ops = &q6v5_wcss_ipq8074_ops, - .requires_force_stop = false, -- .need_mem_protection = true, -+ .need_mem_protection = false, - .need_auto_boot = false, - }; - ---- a/drivers/remoteproc/remoteproc_core.c -+++ b/drivers/remoteproc/remoteproc_core.c -@@ -1822,9 +1822,13 @@ static int rproc_stop(struct rproc *rpro - if (!rproc->ops->stop) - return -EINVAL; - -+ dev_err(dev, "%s: presub \n", __func__); -+ - /* Stop any subdevices for the remote processor */ - rproc_stop_subdevices(rproc, crashed); - -+ dev_err(dev, "%s: postsub \n", __func__); -+ - /* the installed resource table is no longer accessible */ - ret = rproc_reset_rsc_table_on_stop(rproc); - if (ret) { -@@ -1832,6 +1836,8 @@ static int rproc_stop(struct rproc *rpro - return ret; - } - -+ dev_err(dev, "%s: really-stop \n", __func__); -+ - - /* power off the remote processor */ - ret = rproc->ops->stop(rproc); -@@ -1840,6 +1846,8 @@ static int rproc_stop(struct rproc *rpro - return ret; - } - -+ dev_err(dev, "%s: no really, you're stopped \n", __func__); -+ - rproc_unprepare_subdevices(rproc); - - rproc->state = RPROC_OFFLINE; diff --git a/target/linux/ipq60xx/patches-5.15/1013-psci-dont-advertise-OSI-support-for-IPQ6018.patch b/target/linux/ipq60xx/patches-5.15/1013-psci-dont-advertise-OSI-support-for-IPQ6018.patch new file mode 100644 index 000000000..8063854f3 --- /dev/null +++ b/target/linux/ipq60xx/patches-5.15/1013-psci-dont-advertise-OSI-support-for-IPQ6018.patch @@ -0,0 +1,45 @@ +From 3d28dcdffb3642010a6a8f28e384baf95003e798 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Sat, 8 Oct 2022 22:26:31 +0200 +Subject: [PATCH 1013/1013] psci: dont advertise OSI support for IPQ6018 + +Some older IPQ60xx SoC series boards ship with TrustZone/QSEE firmware +older than TZ.WNS.5.1-00084 which will advertise OSI[1] but are broken +and trying to use OSI will cause the board to hang until WDT kicks in. + +So workaround it by checking for SoC compatible and returning false so +OSI is not used. + +[1] https://www.spinics.net/lists/linux-arm-msm/msg79916.html + +Signed-off-by: Robert Marko +--- + drivers/firmware/psci/psci.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c +index cfb448eabdaa..658905bce78d 100644 +--- a/drivers/firmware/psci/psci.c ++++ b/drivers/firmware/psci/psci.c +@@ -86,6 +86,18 @@ static inline bool psci_has_ext_power_state(void) + + bool psci_has_osi_support(void) + { ++ /* ++ * Some older IPQ60xx SoC series boards ship with ++ * TrustZone/QSEE firmware older than TZ.WNS.5.1-00084 ++ * which will advertise OSI but is broken and trying ++ * to use OSI will cause the board to hang until WDT ++ * kicks in. ++ * So workaround it by checking for SoC compatible ++ * and returning false so OSI is not used. ++ */ ++ if (of_machine_is_compatible("qcom,ipq6018")) ++ return false; ++ + return psci_cpu_suspend_feature & PSCI_1_0_OS_INITIATED; + } + +-- +2.37.1 + diff --git a/target/linux/ipq60xx/patches-5.15/1100-export-ns.patch b/target/linux/ipq60xx/patches-5.15/1100-export-ns.patch deleted file mode 100644 index 97b502e1e..000000000 --- a/target/linux/ipq60xx/patches-5.15/1100-export-ns.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/net/ipv6/ndisc.c -+++ b/net/ipv6/ndisc.c -@@ -650,6 +650,34 @@ void ndisc_send_ns(struct net_device *de - ndisc_send_skb(skb, daddr, saddr); - } - -+EXPORT_SYMBOL(ndisc_send_ns); -+ -+struct net_device *ipv6_dev_find_and_hold(struct net *net, struct in6_addr *addr, -+ int strict) -+{ -+ struct inet6_ifaddr *ifp; -+ struct net_device *dev; -+ -+ ifp = ipv6_get_ifaddr(net, addr, NULL, strict); -+ if (!ifp) -+ return NULL; -+ -+ if (!ifp->idev) { -+ in6_ifa_put(ifp); -+ return NULL; -+ } -+ -+ dev = ifp->idev->dev; -+ if (dev) -+ dev_hold(dev); -+ -+ in6_ifa_put(ifp); -+ -+ return dev; -+} -+ -+EXPORT_SYMBOL(ipv6_dev_find_and_hold); -+ - void ndisc_send_rs(struct net_device *dev, const struct in6_addr *saddr, - const struct in6_addr *daddr) - {