From 497966269e2fb2e8bbee2d08e62d2ac041eedaf2 Mon Sep 17 00:00:00 2001 From: Gerrit SelfHelp Service Account Date: Wed, 30 Aug 2023 23:59:23 -0700 Subject: [PATCH 01/10] Initial empty repository From 05133adf46835eb2f1e066d1037233f207afa818 Mon Sep 17 00:00:00 2001 From: Grace An Date: Mon, 23 Oct 2023 11:55:09 -0700 Subject: [PATCH 02/10] ARM: dts: msm: mm-drivers: add support for hw-fence feature on sun This change adds support for device tree configuration and settings for the hw-fence driver that initialize, expose and manage the interfaces for hw-fences on sun target. Change-Id: I99fd3678728af8b9000db8867a1c776d46b7cc16 Signed-off-by: Grace An --- Kbuild | 21 +++++++++ Makefile | 9 ++++ bindings/hw-fence.txt | 80 ++++++++++++++++++++++++++++++++++ hw_fence/sun-hw-fence.dts | 15 +++++++ hw_fence/sun-hw-fence.dtsi | 37 ++++++++++++++++ sun-mm-cdp-kiwi-overlay.dts | 17 ++++++++ sun-mm-cdp-kiwi-v8-overlay.dts | 17 ++++++++ sun-mm-cdp-nfc-overlay.dts | 16 +++++++ sun-mm-cdp-overlay.dts | 17 ++++++++ sun-mm-cdp-v8-overlay.dts | 17 ++++++++ sun-mm-mtp-kiwi-overlay.dts | 17 ++++++++ sun-mm-mtp-kiwi-v8-overlay.dts | 17 ++++++++ sun-mm-mtp-nfc-overlay.dts | 16 +++++++ sun-mm-mtp-overlay.dts | 17 ++++++++ sun-mm-mtp-v8-overlay.dts | 17 ++++++++ sun-mm-qrd-sku1-overlay.dts | 17 ++++++++ sun-mm-qrd-sku1-v8-overlay.dts | 17 ++++++++ sun-mm-qrd-sku2-v8-overlay.dts | 17 ++++++++ sun-mm-rumi-overlay.dts | 16 +++++++ 19 files changed, 397 insertions(+) create mode 100644 Kbuild create mode 100644 Makefile create mode 100644 bindings/hw-fence.txt create mode 100644 hw_fence/sun-hw-fence.dts create mode 100644 hw_fence/sun-hw-fence.dtsi create mode 100644 sun-mm-cdp-kiwi-overlay.dts create mode 100644 sun-mm-cdp-kiwi-v8-overlay.dts create mode 100644 sun-mm-cdp-nfc-overlay.dts create mode 100644 sun-mm-cdp-overlay.dts create mode 100644 sun-mm-cdp-v8-overlay.dts create mode 100644 sun-mm-mtp-kiwi-overlay.dts create mode 100644 sun-mm-mtp-kiwi-v8-overlay.dts create mode 100644 sun-mm-mtp-nfc-overlay.dts create mode 100644 sun-mm-mtp-overlay.dts create mode 100644 sun-mm-mtp-v8-overlay.dts create mode 100644 sun-mm-qrd-sku1-overlay.dts create mode 100644 sun-mm-qrd-sku1-v8-overlay.dts create mode 100644 sun-mm-qrd-sku2-v8-overlay.dts create mode 100644 sun-mm-rumi-overlay.dts diff --git a/Kbuild b/Kbuild new file mode 100644 index 00000000..57bd5f08 --- /dev/null +++ b/Kbuild @@ -0,0 +1,21 @@ +ifeq ($(CONFIG_ARCH_SUN), y) + dtbo-y += hw_fence/sun-hw-fence.dtbo \ + sun-mm-cdp-kiwi-overlay.dtbo \ + sun-mm-cdp-kiwi-v8-overlay.dtbo \ + sun-mm-cdp-nfc-overlay.dtbo \ + sun-mm-cdp-overlay.dtbo \ + sun-mm-cdp-v8-overlay.dtbo \ + sun-mm-mtp-kiwi-overlay.dtbo \ + sun-mm-mtp-kiwi-v8-overlay.dtbo \ + sun-mm-mtp-nfc-overlay.dtbo \ + sun-mm-mtp-overlay.dtbo \ + sun-mm-mtp-v8-overlay.dtbo \ + sun-mm-qrd-sku1-overlay.dtbo \ + sun-mm-qrd-sku1-v8-overlay.dtbo \ + sun-mm-qrd-sku2-v8-overlay.dtbo \ + sun-mm-rumi-overlay.dtbo +endif + +always-y := $(dtb-y) $(dtbo-y) +subdir-y := $(dts-dirs) +clean-files := *.dtb *.dtbo diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..b1e0dfe9 --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ +KBUILD_OPTIONS+=KBUILD_EXTMOD_DTS=. + +all: dtbs + +clean: + $(MAKE) -C $(KERNEL_SRC) M=$(M) clean + +%: + $(MAKE) -C $(KERNEL_SRC) M=$(M) $@ $(KBUILD_OPTIONS) diff --git a/bindings/hw-fence.txt b/bindings/hw-fence.txt new file mode 100644 index 00000000..fd36a30e --- /dev/null +++ b/bindings/hw-fence.txt @@ -0,0 +1,80 @@ +Qualcomm Technologies, Inc. HW FENCE + +HW Fence implements Linux APIs to initialize, deinitialize, register-for-signal, and +overall manage the hw-fences, for hw-to-hw communcation between hw cores. + +Required properties +- compatible: Must be "qcom,msm-hw-fence". +- qcom,ipcc-reg: Registers ranges for ipcc registers. +- qcom,hw-fence-table-entries: A u32 indicating number of entries for the hw-fence table +- qcom,hw-fence-queue-entries: A u32 indicating default number of entries for the Queues +- hw_fence@0: Doorbell configuration to communicate with secondary vm through hypervisor. +- hw_fence@1: Carved-out emory-mapping region, to be used for mapping of global tables and queues + used by the hw-fence driver and fence controller running in secondary vm. + +Optional properties: +- qcom,hw-fence-ipc-ver: A u32 indicating ipc version. If not provided in device-tree, this is read + from the registers. +- qcom,hw-fence-client-type-[name]: A list of four u32 indicating , where [name] specifies the client + type these properties apply to. If provided, all four u32 values + must be provided, and these override default values specified by + the driver for some clients (e.g. dpu, gpu). + -- clients_num: number of clients for given client type + -- queues_num: 1 queue (TxQ) or 2 queues (RxQ and TxQ) + -- queue_entries: number of entries per client queue + -- skip_txq_wr_idx: bool indicating whether tx queue wr_idx update + is skipped within hw fence driver and + hfi_header->tx_wm is used instead +- qcom,hw-fence-client-type-[name]-extra: A list of four u32 indicating extra client queue + properties: . Later u32 values do not need to be + provided to provide values for earlier u32 values. + -- start_padding: size of padding between queue table header + and first queue header in bytes + -- end_padding: size of padding between queue header(s) and + first queue payload in bytes + -- txq_idx_start: start_index for TxQ rd_wr_index + -- txq_idx_by_payload: bool indicating whether TxQ rd_wr_idx + indexes by payloads instead of default + dwords + +Example: + msm_hw_fence: qcom,hw-fence { + compatible = "qcom,msm-hw-fence"; + status = "ok"; + + qcom,ipcc-reg = <0x400000 0x100000>; + qcom,hw-fence-table-entries = <8192>; + qcom,hw-fence-queue-entries = <800>; + + /* time register */ + qcom,qtime-reg = <0xC221000 0x1000>; + + /* ipc version */ + qcom,hw-fence-ipc-ver = <0x20003>; + + /* client queues: clients_num, queues_num, queue_entries, skip_txq_wr_idx */ + qcom,hw-fence-client-type-dpu = <4 2 128 0>; + qcom,hw-fence-client-type-ife2 = <3 1 64 1>; + + /* extra client queue properties */ + qcom,hw-fence-client-type-ife2-extra = <20 28 1 1>; + + /* haven doorbell specific */ + hw_fence@0 { + compatible = "qcom,msm-hw-fence-db"; + qcom,master; + gunyah-label = <6>; + peer-name = <3>; + }; + + /* haven io-mem specific */ + hw_fence@1 { + compatible = "qcom,msm-hw-fence-mem"; + qcom,master; + gunyah-label = <5>; + peer-name = <3>; + shared-buffer = <&hwfence_shbuf>; + }; + }; diff --git a/hw_fence/sun-hw-fence.dts b/hw_fence/sun-hw-fence.dts new file mode 100644 index 00000000..d4bb31aa --- /dev/null +++ b/hw_fence/sun-hw-fence.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun SoC"; + compatible = "qcom,sun"; + qcom,board-id = <0 0>; +}; diff --git a/hw_fence/sun-hw-fence.dtsi b/hw_fence/sun-hw-fence.dtsi new file mode 100644 index 00000000..117980c8 --- /dev/null +++ b/hw_fence/sun-hw-fence.dtsi @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +&soc { + msm_hw_fence: qcom,hw-fence { + compatible = "qcom,msm-hw-fence"; + status = "ok"; + + qcom,hw-fence-table-entries = <8192>; + qcom,hw-fence-queue-entries = <800>; + qcom,ipcc-reg = <0x400000 0x140000>; + + /* time register */ + qcom,qtime-reg = <0xC221000 0x1000>; + + /* ipc version */ + qcom,hw-fence-ipc-ver = <0x20A02>; + + /* base client queue properties */ + qcom,hw-fence-client-type-dpu = <6 2 128 1>; + qcom,hw-fence-client-type-ipe = <1 2 800 0>; + qcom,hw-fence-client-type-vpu = <1 2 800 0>; + qcom,hw-fence-client-type-ife0 = <1 1 128 1>; + + /* extra client queue properties */ + qcom,hw-fence-client-type-ife0-extra = <20 28 1 1>; + + /* haven io-mem specific */ + hw_fence@1 { + compatible = "qcom,msm-hw-fence-mem"; + qcom,master; + shared-buffer = <&hwfence_shbuf>; + }; + }; +}; diff --git a/sun-mm-cdp-kiwi-overlay.dts b/sun-mm-cdp-kiwi-overlay.dts new file mode 100644 index 00000000..fb9ed903 --- /dev/null +++ b/sun-mm-cdp-kiwi-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun CDP Kiwi WLAN"; + compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", + "qcom,cdp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x20001 0>; +}; diff --git a/sun-mm-cdp-kiwi-v8-overlay.dts b/sun-mm-cdp-kiwi-v8-overlay.dts new file mode 100644 index 00000000..06651d95 --- /dev/null +++ b/sun-mm-cdp-kiwi-v8-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun CDP Kiwi WLAN V8 Power Grid"; + compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", + "qcom,cdp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x60001 0>; +}; diff --git a/sun-mm-cdp-nfc-overlay.dts b/sun-mm-cdp-nfc-overlay.dts new file mode 100644 index 00000000..64fa90b3 --- /dev/null +++ b/sun-mm-cdp-nfc-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun CDP SN300 NFC"; + compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", "qcom,cdp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x40001 0>; +}; diff --git a/sun-mm-cdp-overlay.dts b/sun-mm-cdp-overlay.dts new file mode 100644 index 00000000..370d3a12 --- /dev/null +++ b/sun-mm-cdp-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun CDP"; + compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", + "qcom,cdp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <1 0>; +}; diff --git a/sun-mm-cdp-v8-overlay.dts b/sun-mm-cdp-v8-overlay.dts new file mode 100644 index 00000000..aaa799a1 --- /dev/null +++ b/sun-mm-cdp-v8-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun CDP V8 Power Grid"; + compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", + "qcom,cdp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x50001 0>; +}; diff --git a/sun-mm-mtp-kiwi-overlay.dts b/sun-mm-mtp-kiwi-overlay.dts new file mode 100644 index 00000000..171fb3a1 --- /dev/null +++ b/sun-mm-mtp-kiwi-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun MTP Kiwi WLAN"; + compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", + "qcom,mtp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x20008 0>; +}; diff --git a/sun-mm-mtp-kiwi-v8-overlay.dts b/sun-mm-mtp-kiwi-v8-overlay.dts new file mode 100644 index 00000000..5bcab679 --- /dev/null +++ b/sun-mm-mtp-kiwi-v8-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun MTP Kiwi WLAN V8 Power Grid"; + compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", + "qcom,mtp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x50008 0>; +}; diff --git a/sun-mm-mtp-nfc-overlay.dts b/sun-mm-mtp-nfc-overlay.dts new file mode 100644 index 00000000..9106f485 --- /dev/null +++ b/sun-mm-mtp-nfc-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun MTP SN300 NFC"; + compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x30008 0>; +}; diff --git a/sun-mm-mtp-overlay.dts b/sun-mm-mtp-overlay.dts new file mode 100644 index 00000000..3c5a1ea0 --- /dev/null +++ b/sun-mm-mtp-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun MTP"; + compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", + "qcom,mtp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <8 0>; +}; diff --git a/sun-mm-mtp-v8-overlay.dts b/sun-mm-mtp-v8-overlay.dts new file mode 100644 index 00000000..0313a032 --- /dev/null +++ b/sun-mm-mtp-v8-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun MTP V8 Power Grid"; + compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", + "qcom,mtp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x40008 0>; +}; diff --git a/sun-mm-qrd-sku1-overlay.dts b/sun-mm-qrd-sku1-overlay.dts new file mode 100644 index 00000000..0cd2ea34 --- /dev/null +++ b/sun-mm-qrd-sku1-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun QRD SKU1"; + compatible = "qcom,sun-qrd", "qcom,sun", "qcom,sunp-qrd", "qcom,sunp", + "qcom,qrd"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x1000B 0>; +}; diff --git a/sun-mm-qrd-sku1-v8-overlay.dts b/sun-mm-qrd-sku1-v8-overlay.dts new file mode 100644 index 00000000..93678c21 --- /dev/null +++ b/sun-mm-qrd-sku1-v8-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun QRD SKU1 V8 Power Grid"; + compatible = "qcom,sun-qrd", "qcom,sun", "qcom,sunp-qrd", "qcom,sunp", + "qcom,qrd"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x3000B 0>; +}; diff --git a/sun-mm-qrd-sku2-v8-overlay.dts b/sun-mm-qrd-sku2-v8-overlay.dts new file mode 100644 index 00000000..83be5632 --- /dev/null +++ b/sun-mm-qrd-sku2-v8-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun QRD SKU2 V8 Power Grid"; + compatible = "qcom,sun-qrd", "qcom,sun", "qcom,sunp-qrd", "qcom,sunp", + "qcom,qrd"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x2000B 0>; +}; diff --git a/sun-mm-rumi-overlay.dts b/sun-mm-rumi-overlay.dts new file mode 100644 index 00000000..32c0f7c7 --- /dev/null +++ b/sun-mm-rumi-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun RUMI"; + compatible = "qcom,sun-rumi", "qcom,sun", "qcom,rumi"; + qcom,msm-id = <618 0x10000>; + qcom,board-id = <15 0>; +}; From 3bb27e105099c0ed90954c46f356306703a0c53f Mon Sep 17 00:00:00 2001 From: Grace An Date: Mon, 23 Oct 2023 13:33:24 -0700 Subject: [PATCH 03/10] ARM: dts: msm: mm-drivers: add soccp dtsi properties to sun target Add dtsi properties for HW Fence Driver to access the phandle of the SOCCP driver, receive IPCC interrupts from SOCCP on the sun target, and map memory for SOCCP access. Change-Id: Iaa5e381fcb38dbb33771e6b15f12d0425e2d1b4b Signed-off-by: Grace An --- bindings/hw-fence.txt | 53 +++++++++++++++++++++++++++++++++++--- hw_fence/sun-hw-fence.dtsi | 9 +++++++ 2 files changed, 58 insertions(+), 4 deletions(-) diff --git a/bindings/hw-fence.txt b/bindings/hw-fence.txt index fd36a30e..3e4159ff 100644 --- a/bindings/hw-fence.txt +++ b/bindings/hw-fence.txt @@ -8,9 +8,17 @@ Required properties - qcom,ipcc-reg: Registers ranges for ipcc registers. - qcom,hw-fence-table-entries: A u32 indicating number of entries for the hw-fence table - qcom,hw-fence-queue-entries: A u32 indicating default number of entries for the Queues +- hw_fence@1: Carved-out memory-mapping region, to be used for mapping of global tables and queues + used by the hw-fence driver and fence controller running either in secondary vm or + on SOCCP. +Required properties on targets without SOCCP: - hw_fence@0: Doorbell configuration to communicate with secondary vm through hypervisor. -- hw_fence@1: Carved-out emory-mapping region, to be used for mapping of global tables and queues - used by the hw-fence driver and fence controller running in secondary vm. +Required properties on targets with SOCCP: +- soccp_controller: Phandle for the soccp controller. +- interrupts: Interrupt associated with APSS NS0 (to receive interrupts from SOCCP). +- interrupt-controller: Mark the device node as an interrupt controller. +- #interrupt-cells: Should be one. The first cell is interrupt number. +- iommus: Specifies the SID's used by this context bank. Optional properties: - qcom,hw-fence-ipc-ver: A u32 indicating ipc version. If not provided in device-tree, this is read @@ -39,7 +47,44 @@ Optional properties: indexes by payloads instead of default dwords -Example: +Example for target with SOCCP: + msm_hw_fence: qcom,hw-fence { + compatible = "qcom,msm-hw-fence"; + status = "ok"; + + /* SOCCP properties */ + interrupts = ; + interrupt-controller; + #interrupt-cells = <1>; + iommus = <&apps_smmu 0x562 0x1>; + soccp_controller = <&soccp_pas>; + + qcom,ipcc-reg = <0x400000 0x100000>; + qcom,hw-fence-table-entries = <8192>; + qcom,hw-fence-queue-entries = <800>; + + /* time register */ + qcom,qtime-reg = <0xC221000 0x1000>; + + /* ipc version */ + qcom,hw-fence-ipc-ver = <0x20003>; + + /* base client queue properties */ + qcom,hw-fence-client-type-dpu = <4 2 128 0>; + qcom,hw-fence-client-type-ife2 = <3 1 64 1>; + + /* extra client queue properties */ + qcom,hw-fence-client-type-ife2-extra = <20 28 1 1>; + + /* haven io-mem specific */ + hw_fence@1 { + compatible = "qcom,msm-hw-fence-mem"; + qcom,master; + shared-buffer = <&hwfence_shbuf>; + }; + }; + +Example for target without SOCCP: msm_hw_fence: qcom,hw-fence { compatible = "qcom,msm-hw-fence"; status = "ok"; @@ -54,7 +99,7 @@ Example: /* ipc version */ qcom,hw-fence-ipc-ver = <0x20003>; - /* client queues: clients_num, queues_num, queue_entries, skip_txq_wr_idx */ + /* base client queue properties */ qcom,hw-fence-client-type-dpu = <4 2 128 0>; qcom,hw-fence-client-type-ife2 = <3 1 64 1>; diff --git a/hw_fence/sun-hw-fence.dtsi b/hw_fence/sun-hw-fence.dtsi index 117980c8..38832617 100644 --- a/hw_fence/sun-hw-fence.dtsi +++ b/hw_fence/sun-hw-fence.dtsi @@ -3,11 +3,20 @@ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. */ +#include + &soc { msm_hw_fence: qcom,hw-fence { compatible = "qcom,msm-hw-fence"; status = "ok"; + /* SOCCP properties */ + interrupts = ; + interrupt-controller; + #interrupt-cells = <1>; + iommus = <&apps_smmu 0x562 0x1>; + soccp_controller = <&soccp_pas>; + qcom,hw-fence-table-entries = <8192>; qcom,hw-fence-queue-entries = <800>; qcom,ipcc-reg = <0x400000 0x140000>; From c2a2aa549b76b2cb3aaac0ee622944c9e9e03f01 Mon Sep 17 00:00:00 2001 From: Grace An Date: Wed, 20 Dec 2023 13:47:20 -0800 Subject: [PATCH 04/10] ARM: dts: msm: mm-drivers: support cache coherence with shared memory This change enables cache coherency on the carved-out memory region shared with SOCCP. Change-Id: If20659b1153a06e42d15105d5ee1837f0356ef04 Signed-off-by: Grace An --- hw_fence/sun-hw-fence.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/hw_fence/sun-hw-fence.dtsi b/hw_fence/sun-hw-fence.dtsi index 38832617..e21dd763 100644 --- a/hw_fence/sun-hw-fence.dtsi +++ b/hw_fence/sun-hw-fence.dtsi @@ -15,6 +15,7 @@ interrupt-controller; #interrupt-cells = <1>; iommus = <&apps_smmu 0x562 0x1>; + dma-coherent; soccp_controller = <&soccp_pas>; qcom,hw-fence-table-entries = <8192>; From 11629b254c7ff5f156b463b02fa73f7ac0866ac6 Mon Sep 17 00:00:00 2001 From: Grace An Date: Tue, 19 Dec 2023 14:41:32 -0800 Subject: [PATCH 05/10] ARM: dts: msm: add supported platform variants for sun target Add ATP, Kiwi, v8 Power Grid, RCM platform, v8 Power Grid with Kiwi on RCM platform, 3.5mm on MTP platform, and Ganges 2.0 WLAN CDP variant for sun target. Change-Id: Ib562686b28de6d0289be75ba4d2dac5403dabd6b Signed-off-by: Grace An --- Kbuild | 9 ++++++++- sun-mm-atp-overlay.dts | 16 ++++++++++++++++ sun-mm-cdp-ganges-nodisplay-overlay.dts | 16 ++++++++++++++++ sun-mm-mtp-3-5mm-overlay.dts | 16 ++++++++++++++++ sun-mm-rcm-kiwi-overlay.dts | 16 ++++++++++++++++ sun-mm-rcm-kiwi-v8-overlay.dts | 16 ++++++++++++++++ sun-mm-rcm-overlay.dts | 16 ++++++++++++++++ sun-mm-rcm-v8-overlay.dts | 16 ++++++++++++++++ 8 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 sun-mm-atp-overlay.dts create mode 100644 sun-mm-cdp-ganges-nodisplay-overlay.dts create mode 100644 sun-mm-mtp-3-5mm-overlay.dts create mode 100644 sun-mm-rcm-kiwi-overlay.dts create mode 100644 sun-mm-rcm-kiwi-v8-overlay.dts create mode 100644 sun-mm-rcm-overlay.dts create mode 100644 sun-mm-rcm-v8-overlay.dts diff --git a/Kbuild b/Kbuild index 57bd5f08..e418d385 100644 --- a/Kbuild +++ b/Kbuild @@ -13,7 +13,14 @@ ifeq ($(CONFIG_ARCH_SUN), y) sun-mm-qrd-sku1-overlay.dtbo \ sun-mm-qrd-sku1-v8-overlay.dtbo \ sun-mm-qrd-sku2-v8-overlay.dtbo \ - sun-mm-rumi-overlay.dtbo + sun-mm-rumi-overlay.dtbo \ + sun-mm-rcm-overlay.dtbo \ + sun-mm-atp-overlay.dtbo \ + sun-mm-cdp-ganges-nodisplay-overlay.dtbo \ + sun-mm-mtp-3-5mm-overlay.dtbo \ + sun-mm-rcm-kiwi-overlay.dtbo \ + sun-mm-rcm-kiwi-v8-overlay.dtbo \ + sun-mm-rcm-v8-overlay.dtbo endif always-y := $(dtb-y) $(dtbo-y) diff --git a/sun-mm-atp-overlay.dts b/sun-mm-atp-overlay.dts new file mode 100644 index 00000000..70518bfa --- /dev/null +++ b/sun-mm-atp-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun ATP"; + compatible = "qcom,sun-atp", "qcom,sun", "qcom,sunp-atp", "qcom,sunp", "qcom,atp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,board-id = <0x10021 0>; +}; diff --git a/sun-mm-cdp-ganges-nodisplay-overlay.dts b/sun-mm-cdp-ganges-nodisplay-overlay.dts new file mode 100644 index 00000000..875b8884 --- /dev/null +++ b/sun-mm-cdp-ganges-nodisplay-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun CDP No Display"; + compatible = "qcom,sun-cdp", "qcom,sun", "qcom,cdp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x30001 0>; +}; diff --git a/sun-mm-mtp-3-5mm-overlay.dts b/sun-mm-mtp-3-5mm-overlay.dts new file mode 100644 index 00000000..ef20e3f0 --- /dev/null +++ b/sun-mm-mtp-3-5mm-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun MTP with 3.5mm"; + compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x60008 0>; +}; diff --git a/sun-mm-rcm-kiwi-overlay.dts b/sun-mm-rcm-kiwi-overlay.dts new file mode 100644 index 00000000..e382d84d --- /dev/null +++ b/sun-mm-rcm-kiwi-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun RCM Kiwi WLAN"; + compatible = "qcom,sun-rcm", "qcom,sun", "qcom,sunp-rcm", "qcom,sunp", "qcom,rcm"; + qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,board-id = <0x40015 0>; +}; diff --git a/sun-mm-rcm-kiwi-v8-overlay.dts b/sun-mm-rcm-kiwi-v8-overlay.dts new file mode 100644 index 00000000..ddf43428 --- /dev/null +++ b/sun-mm-rcm-kiwi-v8-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun RCM Kiwi WLAN V8 Power Grid"; + compatible = "qcom,sun-rcm", "qcom,sun", "qcom,sunp-rcm", "qcom,sunp", "qcom,rcm"; + qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,board-id = <0x20015 0>; +}; diff --git a/sun-mm-rcm-overlay.dts b/sun-mm-rcm-overlay.dts new file mode 100644 index 00000000..00888cc2 --- /dev/null +++ b/sun-mm-rcm-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun RCM"; + compatible = "qcom,sun-rcm", "qcom,sun", "qcom,rcm"; + qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,board-id = <0x15 0>; +}; diff --git a/sun-mm-rcm-v8-overlay.dts b/sun-mm-rcm-v8-overlay.dts new file mode 100644 index 00000000..904cda80 --- /dev/null +++ b/sun-mm-rcm-v8-overlay.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun RCM V8 Power Grid"; + compatible = "qcom,sun-rcm", "qcom,sun", "qcom,sunp-rcm", "qcom,sunp", "qcom,rcm"; + qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,board-id = <0x30015 0>; +}; From 2622ed9e009ea975a86d05a5c46a8cae60fbac27 Mon Sep 17 00:00:00 2001 From: Jatin Srivastava Date: Mon, 22 Jan 2024 18:55:33 +0530 Subject: [PATCH 06/10] ARM: dts: msm: mm-drivers: Replace txt with yaml Replace existing txt file for HW Fence DTSI documentation with yaml file format. Change-Id: I115682ff66153f731ea15a1528c37e27e4b6eb40 Signed-off-by: Jatin Srivastava --- bindings/hw-fence.txt | 125 ----------------------- bindings/hw-fence.yaml | 227 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 227 insertions(+), 125 deletions(-) delete mode 100644 bindings/hw-fence.txt create mode 100644 bindings/hw-fence.yaml diff --git a/bindings/hw-fence.txt b/bindings/hw-fence.txt deleted file mode 100644 index 3e4159ff..00000000 --- a/bindings/hw-fence.txt +++ /dev/null @@ -1,125 +0,0 @@ -Qualcomm Technologies, Inc. HW FENCE - -HW Fence implements Linux APIs to initialize, deinitialize, register-for-signal, and -overall manage the hw-fences, for hw-to-hw communcation between hw cores. - -Required properties -- compatible: Must be "qcom,msm-hw-fence". -- qcom,ipcc-reg: Registers ranges for ipcc registers. -- qcom,hw-fence-table-entries: A u32 indicating number of entries for the hw-fence table -- qcom,hw-fence-queue-entries: A u32 indicating default number of entries for the Queues -- hw_fence@1: Carved-out memory-mapping region, to be used for mapping of global tables and queues - used by the hw-fence driver and fence controller running either in secondary vm or - on SOCCP. -Required properties on targets without SOCCP: -- hw_fence@0: Doorbell configuration to communicate with secondary vm through hypervisor. -Required properties on targets with SOCCP: -- soccp_controller: Phandle for the soccp controller. -- interrupts: Interrupt associated with APSS NS0 (to receive interrupts from SOCCP). -- interrupt-controller: Mark the device node as an interrupt controller. -- #interrupt-cells: Should be one. The first cell is interrupt number. -- iommus: Specifies the SID's used by this context bank. - -Optional properties: -- qcom,hw-fence-ipc-ver: A u32 indicating ipc version. If not provided in device-tree, this is read - from the registers. -- qcom,hw-fence-client-type-[name]: A list of four u32 indicating , where [name] specifies the client - type these properties apply to. If provided, all four u32 values - must be provided, and these override default values specified by - the driver for some clients (e.g. dpu, gpu). - -- clients_num: number of clients for given client type - -- queues_num: 1 queue (TxQ) or 2 queues (RxQ and TxQ) - -- queue_entries: number of entries per client queue - -- skip_txq_wr_idx: bool indicating whether tx queue wr_idx update - is skipped within hw fence driver and - hfi_header->tx_wm is used instead -- qcom,hw-fence-client-type-[name]-extra: A list of four u32 indicating extra client queue - properties: . Later u32 values do not need to be - provided to provide values for earlier u32 values. - -- start_padding: size of padding between queue table header - and first queue header in bytes - -- end_padding: size of padding between queue header(s) and - first queue payload in bytes - -- txq_idx_start: start_index for TxQ rd_wr_index - -- txq_idx_by_payload: bool indicating whether TxQ rd_wr_idx - indexes by payloads instead of default - dwords - -Example for target with SOCCP: - msm_hw_fence: qcom,hw-fence { - compatible = "qcom,msm-hw-fence"; - status = "ok"; - - /* SOCCP properties */ - interrupts = ; - interrupt-controller; - #interrupt-cells = <1>; - iommus = <&apps_smmu 0x562 0x1>; - soccp_controller = <&soccp_pas>; - - qcom,ipcc-reg = <0x400000 0x100000>; - qcom,hw-fence-table-entries = <8192>; - qcom,hw-fence-queue-entries = <800>; - - /* time register */ - qcom,qtime-reg = <0xC221000 0x1000>; - - /* ipc version */ - qcom,hw-fence-ipc-ver = <0x20003>; - - /* base client queue properties */ - qcom,hw-fence-client-type-dpu = <4 2 128 0>; - qcom,hw-fence-client-type-ife2 = <3 1 64 1>; - - /* extra client queue properties */ - qcom,hw-fence-client-type-ife2-extra = <20 28 1 1>; - - /* haven io-mem specific */ - hw_fence@1 { - compatible = "qcom,msm-hw-fence-mem"; - qcom,master; - shared-buffer = <&hwfence_shbuf>; - }; - }; - -Example for target without SOCCP: - msm_hw_fence: qcom,hw-fence { - compatible = "qcom,msm-hw-fence"; - status = "ok"; - - qcom,ipcc-reg = <0x400000 0x100000>; - qcom,hw-fence-table-entries = <8192>; - qcom,hw-fence-queue-entries = <800>; - - /* time register */ - qcom,qtime-reg = <0xC221000 0x1000>; - - /* ipc version */ - qcom,hw-fence-ipc-ver = <0x20003>; - - /* base client queue properties */ - qcom,hw-fence-client-type-dpu = <4 2 128 0>; - qcom,hw-fence-client-type-ife2 = <3 1 64 1>; - - /* extra client queue properties */ - qcom,hw-fence-client-type-ife2-extra = <20 28 1 1>; - - /* haven doorbell specific */ - hw_fence@0 { - compatible = "qcom,msm-hw-fence-db"; - qcom,master; - gunyah-label = <6>; - peer-name = <3>; - }; - - /* haven io-mem specific */ - hw_fence@1 { - compatible = "qcom,msm-hw-fence-mem"; - qcom,master; - gunyah-label = <5>; - peer-name = <3>; - shared-buffer = <&hwfence_shbuf>; - }; - }; diff --git a/bindings/hw-fence.yaml b/bindings/hw-fence.yaml new file mode 100644 index 00000000..8745b5c7 --- /dev/null +++ b/bindings/hw-fence.yaml @@ -0,0 +1,227 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/hw-fence.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: HW Fence + +maintainers: + - Grace An + - Kalyan Thota + +description: | + HW Fence implements Linux APIs to initialize, deinitialize, register-for-signal, and + overall manage the hw-fences, for hw-to-hw communcation between hw cores. + +properties: + compatible: + const: qcom,msm-hw-fence + + qcom,ipcc-reg: + description: Registers ranges for ipcc registers. + + qcom,hw-fence-table-entries: + description: A u32 indicating number of entries for the hw-fence table + $ref: /schemas/types.yaml#/definitions/uint32 + + qcom,hw-fence-queue-entries: + description: A u32 indicating default number of entries for the Queues + $ref: /schemas/types.yaml#/definitions/uint32 + + hw_fence@0: + description: Doorbell configuration to communicate with secondary vm through hypervisor. + type: object + properties: + compatible: + const: qcom,msm-hw-fence-db + qcom,master: true + gunyah-label: + $ref: /schemas/types.yaml#/definitions/uint32 + peer-name: + $ref: /schemas/types.yaml#/definitions/uint32 + + hw_fence@1: + description: | + Carved-out memory-mapping region, to be used for mapping of global tables and + queues used by the hw-fence driver and fence controller running in secondary vm. + type: object + properties: + compatible: + const: qcom,msm-hw-fence-mem + qcom,master: true + gunyah-label: + $ref: /schemas/types.yaml#/definitions/uint32 + peer-name: + $ref: /schemas/types.yaml#/definitions/uint32 + shared-buffer: + $ref: /schemas/types.yaml#/definitions/phandle + + qcom,hw-fence-ipc-ver: + description: | + A u32 indicating ipc version. If not provided in device-tree, this is read from + the registers. + $ref: /schemas/types.yaml#/definitions/uint32 + + soccp_controller: + description: phandle for the soccp controller. + $ref: /schemas/types.yaml#/definitions/phandle + + interrupts: + description: Interrupt associated with APSS NS0 (to receive interrupts from SOCCP). + + interrupt-controller: true + description: Mark the device node as an interrupt controller. + + '#interrupt-cells': + description: Should be one. The first cell is interrupt number. + const: 1 + + iommus: + description: Specifies the SID's used by this context bank. + +patternProperties: + "qcom,hw\-fence\-client\-type\-+\w": + description: | + A list of four u32 describing client properties that + override default values specified by the driver for some clients. + $ref: /schemas/types.yaml#/definitions/uint32-array + items: + - description: number of clients for given type + - enum: + - 1 + - 2 + description: 1 (Tx) or 2 (Rx and Tx) + - description: number of entries per client queue + - enum: + - 0 + - 1 + description: | + bool indicating whether tx queue wr_idx update is skipped within hw fence + driver and hfi_header->tx_wm is used instead + + "qcom,hw\-fence\-client\-type\-+\w+\-extra": + description: | + A list of four u32 indicating extra client queue properties.Later u32 values do not need to + be provided to provide values for earlier u32 values. + minItems: 1 + maxItems: 4 + $ref: /schemas/types.yaml#/definitions/uint32-array + items: + - description: size of padding between queue table header and first queue header in bytes + - description: size of padding between queue header(s) and first queue payload in bytes + - description: start_index for TxQ rd_wr_index + - enum: + - 0 + - 1 + description: | + bool indicating whether TxQ rd_wr_idx indexes by payloads instead of + default dwords + +required: + - compatible + - qcom,ipcc-reg + - qcom,hw-fence-table-entries + - qcom,hw-fence-queue-entries + - hw_fence@1 + +if: + required: + - soccp-controller +then: + required: + - interrupts + - interrupt-controller + - '#interrupt-cells' + - iommus + properties: + hw_fence@0: false +else: + required: + - hw_fence@0 + properties: + - interrupts: false + - interrupt-controller: false + - '#interrupt-cells': false + - iommus: false + +additionalProperties: false + +examples: + - | + msm_hw_fence: qcom,hw-fence { + compatible = "qcom,msm-hw-fence"; + status = "ok"; + + qcom,ipcc-reg = <0x400000 0x100000>; + qcom,hw-fence-table-entries = <8192>; + qcom,hw-fence-queue-entries = <800>; + + # time register + qcom,qtime-reg = <0xC221000 0x1000>; + + # ipc version + qcom,hw-fence-ipc-ver = <0x20003>; + + # client queues: clients_num, queues_num, queue_entries, skip_txq_wr_idx + qcom,hw-fence-client-type-dpu = <4 2 128 0>; + qcom,hw-fence-client-type-ife2 = <3 1 64 1>; + + # extra client queue properties + qcom,hw-fence-client-type-ife2-extra = <20 28 1 1>; + + # haven doorbell specific + hw_fence@0 { + compatible = "qcom,msm-hw-fence-db"; + qcom,master; + gunyah-label = <6>; + peer-name = <3>; + }; + + # haven io-mem specific + hw_fence@1 { + compatible = "qcom,msm-hw-fence-mem"; + qcom,master; + gunyah-label = <5>; + peer-name = <3>; + shared-buffer = <&hwfence_shbuf>; + }; + }; + + - | + msm_hw_fence: qcom,hw-fence { + compatible = "qcom,msm-hw-fence"; + status = "ok"; + + # SOCCP properties + interrupts = ; + interrupt-controller; + #interrupt-cells = <1>; + iommus = <&apps_smmu 0x562 0x1>; + soccp_controller = <&soccp_pas>; + + qcom,ipcc-reg = <0x400000 0x100000>; + qcom,hw-fence-table-entries = <8192>; + qcom,hw-fence-queue-entries = <800>; + + # time register + qcom,qtime-reg = <0xC221000 0x1000>; + + # ipc version + qcom,hw-fence-ipc-ver = <0x20003>; + + # base client queue properties + qcom,hw-fence-client-type-dpu = <4 2 128 0>; + qcom,hw-fence-client-type-ife2 = <3 1 64 1>; + + # extra client queue properties + qcom,hw-fence-client-type-ife2-extra = <20 28 1 1>; + + # haven io-mem specific + hw_fence@1 { + compatible = "qcom,msm-hw-fence-mem"; + qcom,master; + shared-buffer = <&hwfence_shbuf>; + }; + }; +... From f04517dc96bda19f3e9bc18f4132ed8636ddd0e5 Mon Sep 17 00:00:00 2001 From: Grace An Date: Fri, 23 Feb 2024 11:32:39 -0800 Subject: [PATCH 07/10] ARM: dts: msm: mm-drivers: add mtp with QMP1000 support on sun SoC Add device tree files to support v6 and v8 power grids for MTP platform with QMP1000 on Sun SoC. Change-Id: I833a3aec6569b07e30e3e6ff59b26b7381280c70 Signed-off-by: Grace An --- Kbuild | 2 ++ sun-mm-mtp-qmp1000-overlay.dts | 17 +++++++++++++++++ sun-mm-mtp-qmp1000-v8-overlay.dts | 17 +++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 sun-mm-mtp-qmp1000-overlay.dts create mode 100644 sun-mm-mtp-qmp1000-v8-overlay.dts diff --git a/Kbuild b/Kbuild index e418d385..8949ce8d 100644 --- a/Kbuild +++ b/Kbuild @@ -10,6 +10,8 @@ ifeq ($(CONFIG_ARCH_SUN), y) sun-mm-mtp-nfc-overlay.dtbo \ sun-mm-mtp-overlay.dtbo \ sun-mm-mtp-v8-overlay.dtbo \ + sun-mm-mtp-qmp1000-overlay.dtbo \ + sun-mm-mtp-qmp1000-v8-overlay.dtbo \ sun-mm-qrd-sku1-overlay.dtbo \ sun-mm-qrd-sku1-v8-overlay.dtbo \ sun-mm-qrd-sku2-v8-overlay.dtbo \ diff --git a/sun-mm-mtp-qmp1000-overlay.dts b/sun-mm-mtp-qmp1000-overlay.dts new file mode 100644 index 00000000..8cd580d4 --- /dev/null +++ b/sun-mm-mtp-qmp1000-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun MTP QMP1000"; + compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", + "qcom,mtp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x10108 0>; +}; diff --git a/sun-mm-mtp-qmp1000-v8-overlay.dts b/sun-mm-mtp-qmp1000-v8-overlay.dts new file mode 100644 index 00000000..053df5af --- /dev/null +++ b/sun-mm-mtp-qmp1000-v8-overlay.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun MTP QMP1000 V8 Power Grid"; + compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", + "qcom,mtp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,board-id = <0x40108 0>; +}; From f5cfb22298fde1913375f7e26fe5c7a350ff979f Mon Sep 17 00:00:00 2001 From: Grace An Date: Tue, 19 Mar 2024 16:02:48 -0700 Subject: [PATCH 08/10] ARM: dts: msm: mm-drivers: add package id to msm-ids for sun SoC Add additional device trees and msm-IDs to support an additional package ID. Change-Id: Idf009ead2d84877f38ac2b64cd8d8efd95c6780e Signed-off-by: Grace An --- Kbuild | 3 ++- sun-mm-atp-overlay.dts | 2 +- sun-mm-cdp-kiwi-overlay.dts | 4 +++- sun-mm-cdp-kiwi-v8-overlay.dts | 4 +++- sun-mm-cdp-nfc-overlay.dts | 4 +++- sun-mm-cdp-no-display-overlay.dts | 19 +++++++++++++++++++ sun-mm-cdp-overlay.dts | 4 +++- sun-mm-cdp-v8-overlay.dts | 4 +++- sun-mm-mtp-3-5mm-overlay.dts | 4 +++- sun-mm-mtp-kiwi-overlay.dts | 4 +++- sun-mm-mtp-kiwi-v8-overlay.dts | 4 +++- sun-mm-mtp-nfc-overlay.dts | 4 +++- sun-mm-mtp-overlay.dts | 4 +++- sun-mm-mtp-qmp1000-overlay.dts | 4 +++- sun-mm-mtp-qmp1000-v8-overlay.dts | 4 +++- sun-mm-mtp-v8-overlay.dts | 4 +++- sun-mm-qrd-sku1-overlay.dts | 4 +++- sun-mm-qrd-sku1-v8-overlay.dts | 4 +++- sun-mm-qrd-sku2-v8-overlay.dts | 4 +++- sun-mm-rcm-kiwi-overlay.dts | 2 +- sun-mm-rcm-kiwi-v8-overlay.dts | 2 +- sun-mm-rcm-overlay.dts | 2 +- sun-mm-rcm-v8-overlay.dts | 2 +- 23 files changed, 74 insertions(+), 22 deletions(-) create mode 100644 sun-mm-cdp-no-display-overlay.dts diff --git a/Kbuild b/Kbuild index 8949ce8d..cdb53029 100644 --- a/Kbuild +++ b/Kbuild @@ -22,7 +22,8 @@ ifeq ($(CONFIG_ARCH_SUN), y) sun-mm-mtp-3-5mm-overlay.dtbo \ sun-mm-rcm-kiwi-overlay.dtbo \ sun-mm-rcm-kiwi-v8-overlay.dtbo \ - sun-mm-rcm-v8-overlay.dtbo + sun-mm-rcm-v8-overlay.dtbo \ + sun-mm-cdp-no-display-overlay.dtbo endif always-y := $(dtb-y) $(dtbo-y) diff --git a/sun-mm-atp-overlay.dts b/sun-mm-atp-overlay.dts index 70518bfa..55934895 100644 --- a/sun-mm-atp-overlay.dts +++ b/sun-mm-atp-overlay.dts @@ -11,6 +11,6 @@ / { model = "Qualcomm Technologies, Inc. Sun ATP"; compatible = "qcom,sun-atp", "qcom,sun", "qcom,sunp-atp", "qcom,sunp", "qcom,atp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <0x100026a 0x10000>, <0x100026a 0x20000>; qcom,board-id = <0x10021 0>; }; diff --git a/sun-mm-cdp-kiwi-overlay.dts b/sun-mm-cdp-kiwi-overlay.dts index fb9ed903..90e560c3 100644 --- a/sun-mm-cdp-kiwi-overlay.dts +++ b/sun-mm-cdp-kiwi-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun CDP Kiwi WLAN"; compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", "qcom,cdp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x20001 0>; }; diff --git a/sun-mm-cdp-kiwi-v8-overlay.dts b/sun-mm-cdp-kiwi-v8-overlay.dts index 06651d95..b4992ede 100644 --- a/sun-mm-cdp-kiwi-v8-overlay.dts +++ b/sun-mm-cdp-kiwi-v8-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun CDP Kiwi WLAN V8 Power Grid"; compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", "qcom,cdp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x60001 0>; }; diff --git a/sun-mm-cdp-nfc-overlay.dts b/sun-mm-cdp-nfc-overlay.dts index 64fa90b3..4db895d0 100644 --- a/sun-mm-cdp-nfc-overlay.dts +++ b/sun-mm-cdp-nfc-overlay.dts @@ -11,6 +11,8 @@ / { model = "Qualcomm Technologies, Inc. Sun CDP SN300 NFC"; compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", "qcom,cdp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x40001 0>; }; diff --git a/sun-mm-cdp-no-display-overlay.dts b/sun-mm-cdp-no-display-overlay.dts new file mode 100644 index 00000000..112fc0d0 --- /dev/null +++ b/sun-mm-cdp-no-display-overlay.dts @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/dts-v1/; +/plugin/; + +#include "hw_fence/sun-hw-fence.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Sun CDP No Display"; + compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", + "qcom,cdp"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; + qcom,board-id = <0x30001 0>; +}; diff --git a/sun-mm-cdp-overlay.dts b/sun-mm-cdp-overlay.dts index 370d3a12..c98ef6ab 100644 --- a/sun-mm-cdp-overlay.dts +++ b/sun-mm-cdp-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun CDP"; compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", "qcom,cdp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <1 0>; }; diff --git a/sun-mm-cdp-v8-overlay.dts b/sun-mm-cdp-v8-overlay.dts index aaa799a1..aaa0a0c9 100644 --- a/sun-mm-cdp-v8-overlay.dts +++ b/sun-mm-cdp-v8-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun CDP V8 Power Grid"; compatible = "qcom,sun-cdp", "qcom,sun", "qcom,sunp-cdp", "qcom,sunp", "qcom,cdp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x50001 0>; }; diff --git a/sun-mm-mtp-3-5mm-overlay.dts b/sun-mm-mtp-3-5mm-overlay.dts index ef20e3f0..fd2f50f2 100644 --- a/sun-mm-mtp-3-5mm-overlay.dts +++ b/sun-mm-mtp-3-5mm-overlay.dts @@ -11,6 +11,8 @@ / { model = "Qualcomm Technologies, Inc. Sun MTP with 3.5mm"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x60008 0>; }; diff --git a/sun-mm-mtp-kiwi-overlay.dts b/sun-mm-mtp-kiwi-overlay.dts index 171fb3a1..8751b9cc 100644 --- a/sun-mm-mtp-kiwi-overlay.dts +++ b/sun-mm-mtp-kiwi-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun MTP Kiwi WLAN"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x20008 0>; }; diff --git a/sun-mm-mtp-kiwi-v8-overlay.dts b/sun-mm-mtp-kiwi-v8-overlay.dts index 5bcab679..0a2a2fc2 100644 --- a/sun-mm-mtp-kiwi-v8-overlay.dts +++ b/sun-mm-mtp-kiwi-v8-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun MTP Kiwi WLAN V8 Power Grid"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x50008 0>; }; diff --git a/sun-mm-mtp-nfc-overlay.dts b/sun-mm-mtp-nfc-overlay.dts index 9106f485..986d2cc4 100644 --- a/sun-mm-mtp-nfc-overlay.dts +++ b/sun-mm-mtp-nfc-overlay.dts @@ -11,6 +11,8 @@ / { model = "Qualcomm Technologies, Inc. Sun MTP SN300 NFC"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x30008 0>; }; diff --git a/sun-mm-mtp-overlay.dts b/sun-mm-mtp-overlay.dts index 3c5a1ea0..80eacfbf 100644 --- a/sun-mm-mtp-overlay.dts +++ b/sun-mm-mtp-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun MTP"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <8 0>; }; diff --git a/sun-mm-mtp-qmp1000-overlay.dts b/sun-mm-mtp-qmp1000-overlay.dts index 8cd580d4..1512178e 100644 --- a/sun-mm-mtp-qmp1000-overlay.dts +++ b/sun-mm-mtp-qmp1000-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun MTP QMP1000"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x10108 0>; }; diff --git a/sun-mm-mtp-qmp1000-v8-overlay.dts b/sun-mm-mtp-qmp1000-v8-overlay.dts index 053df5af..fd71b634 100644 --- a/sun-mm-mtp-qmp1000-v8-overlay.dts +++ b/sun-mm-mtp-qmp1000-v8-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun MTP QMP1000 V8 Power Grid"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x40108 0>; }; diff --git a/sun-mm-mtp-v8-overlay.dts b/sun-mm-mtp-v8-overlay.dts index 0313a032..4e16c4ab 100644 --- a/sun-mm-mtp-v8-overlay.dts +++ b/sun-mm-mtp-v8-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun MTP V8 Power Grid"; compatible = "qcom,sun-mtp", "qcom,sun", "qcom,sunp-mtp", "qcom,sunp", "qcom,mtp"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x40008 0>; }; diff --git a/sun-mm-qrd-sku1-overlay.dts b/sun-mm-qrd-sku1-overlay.dts index 0cd2ea34..37ba8ef5 100644 --- a/sun-mm-qrd-sku1-overlay.dts +++ b/sun-mm-qrd-sku1-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun QRD SKU1"; compatible = "qcom,sun-qrd", "qcom,sun", "qcom,sunp-qrd", "qcom,sunp", "qcom,qrd"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x1000B 0>; }; diff --git a/sun-mm-qrd-sku1-v8-overlay.dts b/sun-mm-qrd-sku1-v8-overlay.dts index 93678c21..ed422e90 100644 --- a/sun-mm-qrd-sku1-v8-overlay.dts +++ b/sun-mm-qrd-sku1-v8-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun QRD SKU1 V8 Power Grid"; compatible = "qcom,sun-qrd", "qcom,sun", "qcom,sunp-qrd", "qcom,sunp", "qcom,qrd"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x3000B 0>; }; diff --git a/sun-mm-qrd-sku2-v8-overlay.dts b/sun-mm-qrd-sku2-v8-overlay.dts index 83be5632..f4646640 100644 --- a/sun-mm-qrd-sku2-v8-overlay.dts +++ b/sun-mm-qrd-sku2-v8-overlay.dts @@ -12,6 +12,8 @@ model = "Qualcomm Technologies, Inc. Sun QRD SKU2 V8 Power Grid"; compatible = "qcom,sun-qrd", "qcom,sun", "qcom,sunp-qrd", "qcom,sunp", "qcom,qrd"; - qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, + <0x100026a 0x10000>, <0x100026a 0x20000>, + <0x100027f 0x10000>, <0x100027f 0x20000>; qcom,board-id = <0x2000B 0>; }; diff --git a/sun-mm-rcm-kiwi-overlay.dts b/sun-mm-rcm-kiwi-overlay.dts index e382d84d..bc9e02d1 100644 --- a/sun-mm-rcm-kiwi-overlay.dts +++ b/sun-mm-rcm-kiwi-overlay.dts @@ -11,6 +11,6 @@ / { model = "Qualcomm Technologies, Inc. Sun RCM Kiwi WLAN"; compatible = "qcom,sun-rcm", "qcom,sun", "qcom,sunp-rcm", "qcom,sunp", "qcom,rcm"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <0x100026a 0x10000>, <0x100026a 0x20000>; qcom,board-id = <0x40015 0>; }; diff --git a/sun-mm-rcm-kiwi-v8-overlay.dts b/sun-mm-rcm-kiwi-v8-overlay.dts index ddf43428..82eef5d9 100644 --- a/sun-mm-rcm-kiwi-v8-overlay.dts +++ b/sun-mm-rcm-kiwi-v8-overlay.dts @@ -11,6 +11,6 @@ / { model = "Qualcomm Technologies, Inc. Sun RCM Kiwi WLAN V8 Power Grid"; compatible = "qcom,sun-rcm", "qcom,sun", "qcom,sunp-rcm", "qcom,sunp", "qcom,rcm"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <0x100026a 0x10000>, <0x100026a 0x20000>; qcom,board-id = <0x20015 0>; }; diff --git a/sun-mm-rcm-overlay.dts b/sun-mm-rcm-overlay.dts index 00888cc2..71ed1234 100644 --- a/sun-mm-rcm-overlay.dts +++ b/sun-mm-rcm-overlay.dts @@ -11,6 +11,6 @@ / { model = "Qualcomm Technologies, Inc. Sun RCM"; compatible = "qcom,sun-rcm", "qcom,sun", "qcom,rcm"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <0x100026a 0x10000>, <0x100026a 0x20000>; qcom,board-id = <0x15 0>; }; diff --git a/sun-mm-rcm-v8-overlay.dts b/sun-mm-rcm-v8-overlay.dts index 904cda80..1427eccf 100644 --- a/sun-mm-rcm-v8-overlay.dts +++ b/sun-mm-rcm-v8-overlay.dts @@ -11,6 +11,6 @@ / { model = "Qualcomm Technologies, Inc. Sun RCM V8 Power Grid"; compatible = "qcom,sun-rcm", "qcom,sun", "qcom,sunp-rcm", "qcom,sunp", "qcom,rcm"; - qcom,msm-id = <618 0x10000>, <618 0x20000>; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <0x100026a 0x10000>, <0x100026a 0x20000>; qcom,board-id = <0x30015 0>; }; From 3c1644924a50db57f161d20da7dd0bd23a6dc178 Mon Sep 17 00:00:00 2001 From: Jayasri Sampath Kumaran Date: Mon, 1 Apr 2024 13:23:58 -0400 Subject: [PATCH 09/10] ARM: dts: msm: mm-drivers: change board id for QMP1000 for sun target Update board id for QMP1000 V6 variant on MTP for sun target. Change-Id: I4ed447676d00fdd992eb1dc24dc902f07c7f21eb Signed-off-by: Jayasri Sampath Kumaran --- sun-mm-mtp-qmp1000-overlay.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sun-mm-mtp-qmp1000-overlay.dts b/sun-mm-mtp-qmp1000-overlay.dts index 1512178e..a79ce3c3 100644 --- a/sun-mm-mtp-qmp1000-overlay.dts +++ b/sun-mm-mtp-qmp1000-overlay.dts @@ -15,5 +15,5 @@ qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>, <0x100026a 0x10000>, <0x100026a 0x20000>, <0x100027f 0x10000>, <0x100027f 0x20000>; - qcom,board-id = <0x10108 0>; + qcom,board-id = <0x108 0>; }; From 75ff3e799f2f8ab090bf10d80c6e9020cfdcbb6e Mon Sep 17 00:00:00 2001 From: Grace An Date: Tue, 2 Apr 2024 09:22:59 -0700 Subject: [PATCH 10/10] ARM: dts: msm: mm-drivers: add soc info for sun target Add SOC info to device-tree to support sun targets. Change-Id: I700b2502d20424dac0b10ec9a09b02d14b48d1f4 Signed-off-by: Grace An --- hw_fence/sun-hw-fence.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/hw_fence/sun-hw-fence.dts b/hw_fence/sun-hw-fence.dts index d4bb31aa..56123d51 100644 --- a/hw_fence/sun-hw-fence.dts +++ b/hw_fence/sun-hw-fence.dts @@ -11,5 +11,6 @@ / { model = "Qualcomm Technologies, Inc. Sun SoC"; compatible = "qcom,sun"; + qcom,msm-id = <618 0x10000>, <618 0x20000>, <639 0x10000>, <639 0x20000>; qcom,board-id = <0 0>; };