From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 650C5481254 for ; Thu, 4 Jun 2026 13:53:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780581187; cv=none; b=WJLB3h0iN1uP5W8cI0/42QSi1b72tuwmPuTTwUNSbXx/kyfyNszXDl/oe3yBg91y+MZDc0myl+cE7i70wDVjytMT1V6k5er8YRDYwXzwq/NdVUd/RkC6xqcVG3V+XkOCmAD/q/8RSGF+nNi9aszIJFVjUfcwHI/CvQ4lLJTV/UI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780581187; c=relaxed/simple; bh=PruqalRhu/z+DKkyMkBAp0/bJ7evWCq2fSw38PfA5zo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PY/AGhawK1yo1QaJlgRr8DrZbrqucWetQXXZo5PwtrdZxglChqRPpMhM12NSKda03DDaCoZoZDo/+PlJXLcRXRFklE6/m+nBBoxqcEyzPktJBEDJTatSq3lL2otNHzT65uM6UPj84OsskLECgsoi6zRGHeUzh9TCP4dN+J5Kqkk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=AAJwU3U5; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AAJwU3U5" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-45ef616daf6so717362f8f.3 for ; Thu, 04 Jun 2026 06:53:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780581184; x=1781185984; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6Y0cyJs3YzhZbMhMCeS+YcB/ZC7ibeA7FwgxaOl6j4E=; b=AAJwU3U5rihahWXlDWTX5MTDCBWIB6hKwHJc5GsXjizinfZkYKyUwzkyIxqEbhLLka rifQARAZWOOI2BRSoYFveQ8MZfb408Bf5kcGhxBlboOovz/yzsIxhNun4o22mU7Z3M1R TP1jC/+7j5cLAjmY18TDmFYelX7oKyDiVSsKQgA+ryDAluhEssyKmPz+quFv8STpy2/F JtMU8bKZ+pe6sz3uLDkg+cBb+NzDfp+cR+foBN2iwfJ4PPR5dN6A5gmUaQLHXnJj1uYI n5Vpw7rT+SkxJIAueN0Cosh0PpDaWWJcvM8ZkJfbYmhX+cgPnFELQkk72kNZLEbl1JNZ /wfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780581184; x=1781185984; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=6Y0cyJs3YzhZbMhMCeS+YcB/ZC7ibeA7FwgxaOl6j4E=; b=LfKCqoaFVGt3S39Bde3Dg3CPSDQ8YEF7tLX+tC1dFaqYo3xaa7hJbALdVbzbig3DQz HTmVYZ1He2Ra0vXAfIutcd5zd94AEDDEvkqlQpdeKdjzLZ2R2KljG5Q2wUrBS0jL2MPZ 34d+imHucPYQ3Y/eJ275ZOF9jYuUckePf2cCYsPaIoMfyneNTBu3RpOW/VmFqlTT+Fgk VDDqGrlatD1MQqjALAElGYvu7S9kdv+kIaSqqDmws5yqfTcoxEeijjlqGcS/fSoA2sSD MqHfcIkcjby6STSLHoCRYR0ymJUNO7shxRN9IaK4b+ZcE+UFprWYBbpea9S4a/yAuwcz yAOA== X-Forwarded-Encrypted: i=1; AFNElJ+aCAAD0A0ZZJIvrH67U1wFX8emirx9FNcweT+Fii7oUat1btET3ia4PV+0mgMRz5UtcTkZE2PU/GthGGo=@vger.kernel.org X-Gm-Message-State: AOJu0Yw0waUO//uBSysIb323I3UBLDDjp/8FwCcbjkq2Eo+6udQCRxC1 nduqcqEHa5PN4CtNegCV5ogNdyNQXI9XJ1MsWND1CTPw94yj6wXsKiQt X-Gm-Gg: Acq92OGnYxp/Ch4kr6oiwdE6EoS1LqeGeheVPMglQ+QCnQlElUIkAc6S0N/LQyMujC3 8d+1sk7GJwbFIRHpjH5CWVh9HiY5xAoUIt1EtJcJBfZ5jhpaVj2OAT8Te7KAgvDAxxKjCEP89oR 7u2XEbY7N9IfYN9FMQisC9Hl01n5ZqGaCfFL9NlcKaQt5fy/EseziB2HKFeWdyT5ZlcilHXOkzG zk+vROWjJNlHQzWeVJ6dtWbySwXDqAs2QttlI7wN1eboxbSEvuK1eVBNTbu0YwC1QJ5TPJQ3NA6 i350Df1kdlP86kNn/Lj2QHEftkaqsd3tVwwVk9e6NA9Thj/akmK/KWSpnjzBO4KE1CkM2XpxGDb UTwJpN11Qc33M0weHzuOfisA1SsXX7hK4c2rDy/3NOHfmSAPrAQHKd24ps88x87VTRXJtIlKjC4 TnulxjYgz6TvkUzefjYQbkr/SRcz1vcPs0vg+82SGRdy1YxUog3afd3KWgtYmiCbY= X-Received: by 2002:adf:fc48:0:b0:446:96b1:f53 with SMTP id ffacd0b85a97d-46021844e6emr9463717f8f.26.1780581183713; Thu, 04 Jun 2026 06:53:03 -0700 (PDT) Received: from compiler-rock3b.tailb81abf.ts.net ([2a01:e0a:104a:4d80:be24:11ff:fe12:2776]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f0a43e9sm16661068f8f.0.2026.06.04.06.53.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 06:53:03 -0700 (PDT) From: Midgy BALON To: tomeu@tomeuvizoso.net, ogabbay@kernel.org, heiko@sntech.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, joro@8bytes.org, will@kernel.org Cc: robin.murphy@arm.com, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [RFC PATCH v3 8/9] arm64: dts: rockchip: rk356x: Add the NPU and its IOMMU Date: Thu, 4 Jun 2026 13:52:54 +0000 Message-Id: <20260604135255.62682-9-midgy971@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260604135255.62682-1-midgy971@gmail.com> References: <20260604135255.62682-1-midgy971@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The RK3568 has an NVDLA-derived NPU at fde40000 with its own IOMMU at fde4b000. Add both nodes (disabled by default) and the NPU power-domain child under the PMU power-controller, and point rockchip,pmu at the PMU syscon that controls the NPU NoC bus-idle. The power-domain deliberately carries no pm_qos: qos_npu sits behind the NPU NoC, which is gated until the NPU is brought up, so a genpd power-off QoS save would fault reading it. Signed-off-by: Midgy BALON --- arch/arm64/boot/dts/rockchip/rk356x-base.dtsi | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk356x-base.dtsi b/arch/arm64/boot/dts/rockchip/rk356x-base.dtsi index 64bdd8b7754b5..50ce5a5e4fc24 100644 --- a/arch/arm64/boot/dts/rockchip/rk356x-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk356x-base.dtsi @@ -512,6 +512,13 @@ power-domain@RK3568_PD_GPU { #power-domain-cells = <0>; }; + pd_npu: power-domain@RK3568_PD_NPU { + reg = ; + clocks = <&cru ACLK_NPU_PRE>, + <&cru HCLK_NPU_PRE>; + #power-domain-cells = <0>; + }; + /* These power domains are grouped by VD_LOGIC */ power-domain@RK3568_PD_VI { reg = ; @@ -948,6 +955,37 @@ qos_rga_wr: qos@fe158300 { reg = <0x0 0xfe158300 0x0 0x20>; }; + rknn_core_0: npu@fde40000 { + compatible = "rockchip,rk3568-rknn-core"; + reg = <0x0 0xfde40000 0x0 0x1000>, + <0x0 0xfde41000 0x0 0x1000>, + <0x0 0xfde43000 0x0 0x1000>; + reg-names = "pc", "cna", "core"; + interrupts = ; + clocks = <&cru ACLK_NPU>, <&cru HCLK_NPU>, + <&scmi_clk SCMI_CLK_NPU>, <&cru PCLK_NPU_PRE>; + clock-names = "aclk", "hclk", "npu", "pclk"; + assigned-clocks = <&scmi_clk SCMI_CLK_NPU>; + assigned-clock-rates = <200000000>; + resets = <&cru SRST_A_NPU>, <&cru SRST_H_NPU>; + reset-names = "srst_a", "srst_h"; + power-domains = <&power RK3568_PD_NPU>; + rockchip,pmu = <&pmu>; + iommus = <&rknn_mmu_0>; + status = "disabled"; + }; + + rknn_mmu_0: iommu@fde4b000 { + compatible = "rockchip,iommu"; + reg = <0x0 0xfde4b000 0x0 0x40>; + interrupts = ; + clock-names = "aclk", "iface"; + clocks = <&cru ACLK_NPU>, <&cru HCLK_NPU>; + power-domains = <&power RK3568_PD_NPU>; + #iommu-cells = <0>; + status = "disabled"; + }; + qos_npu: qos@fe180000 { compatible = "rockchip,rk3568-qos", "syscon"; reg = <0x0 0xfe180000 0x0 0x20>; -- 2.39.5