From nobody Fri Dec 19 09:25:40 2025 Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E65635965; Thu, 6 Nov 2025 09:32:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.132.182.106 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762421562; cv=fail; b=f6Wpv0ypR0F6Rb1XlknuyQwCiiABvurukBpUB4hIa1I6mUdv7lv4VD6NLliSN/uE+pUMwqDmwHn57yqx9wDfXijFBXGgXfPrpkFq083QjGe3j6tMFk6hJVSbxu2clYAdbNSs7nk6hQdc5Efba86YzGNYk5Q5G8S+huMbU/kT2Qk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762421562; c=relaxed/simple; bh=cCLXQEEOaymckeh8/p7ZTJ+miF7T3TZOBChrMeaF+WQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=BhGkhlhAzos47Hp/DHdPjWS8TId0L3+3v3yigl6G2ysnpqZ2nhUa6nIG/LCEySajH9S6RHAOcn79Z09Q02fyEpT2bdpFfXqqsYpEWtYx6vY22cJIlJvNngJoDz3jjpYCM4FM5bYeraGaREVTtRqjI597eWtKwLC/gP8Cr0n1sJ0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=ELF0ygg6; arc=fail smtp.client-ip=185.132.182.106 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="ELF0ygg6" Received: from pps.filterd (m0288072.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5A69E3HI1369429; Thu, 6 Nov 2025 10:32:22 +0100 Received: from mrwpr03cu001.outbound.protection.outlook.com (mail-francesouthazon11011057.outbound.protection.outlook.com [40.107.130.57]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4a7g98br11-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 06 Nov 2025 10:32:22 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=I3uZacXQpWObnr14zejwDRDocfCOB1ds9BXM1A8OfhTD7xojwOctsTo19yOKVedxFTSVr6WM9nGhJVpdHWVcVB8JpBJxp431/1D/ZMAQzALDwX/BH1onDxs0wx8yCf3TIKop6bhV7+uAkPD/jq/rKVQFkUUR6k6CGDiHuEQg3L9o3r07G3zqm0W19o9V+ufQmetrOgrWOgC5MGLtqG1ok8PL6fBi1Tmsi2UgVR8GLsraJ5ZYEV1ZZn80rx/pDIHAziX1VZo5KWWyF+1QYBKZV9YTvPefgwC4KEjWXLbGIbpMZugCSQ8rmjHZX3/ZCMxRSP+I8Sg5QyWn/+6Eee6bNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JKfYt79/o7oM+5otTjMRmmXdDMnYVCjb7shXhCpCMfA=; b=JVOP8cUHVSVKsJf95bHti9oICRaDKEAWmJXR/SWWwtjJDWZoYYTT74Y/qLqC7o4ZJpjuC1KEkoDT8V7JwSZj3EvZQl2J5avjG9p5IpeZStVXqp2Xp7qrVq9FM0g6J0BKpnwu5eQb+tGvad0J/9n8afdTBljVkWQF/C5skJ3QUjsCDmqWmIrQcllpGvSbSdfuLXDpKxHFaU11RqiibMB4JwsoEGZgy885hfo2cfoRF/wfEGFKtGtCu+eUTu97RL3kZ7Xsz+qkHWOeZJRMgmdfOzEzTImsTqZYRqbVvnNaTuMeV2RmqAaPlspKZ1w2uvyX9VKyNllptpddLzC2cwurFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JKfYt79/o7oM+5otTjMRmmXdDMnYVCjb7shXhCpCMfA=; b=ELF0ygg6qdLmKT5MxKQz2o3Tsi8Q2KXaTWgylBtyBuNAJ0HfJs99KOXeQZwBR2Uhh49gGx6yld5Nh37U2OimX/LIGu/PMoBpWlDXSMg2IekOpih4HYQaM+eE04L3vuezDYy2WT9lGwLr/uYS7Cw6KgFuOq7UOl/SJhKe/9emT9/pfXxU2mV5cFNVIFjUG/XeEDDfWZ8mz5cRIE0k00h5KSt7BxJL8mQwNOx9LOQoqLb8a+BK2sZJmPf91zFuFQHOjGXBGhohT3fu5DwyvIHxO2AUfU01GPlcO0mtlsqFTDCFZ2AE/jB/wJSf8YmUJlp8AYM9Oif58boO66+7ReFZ9A== Received: from AS9PR01CA0015.eurprd01.prod.exchangelabs.com (2603:10a6:20b:540::28) by DU0PR10MB5655.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:319::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Thu, 6 Nov 2025 09:32:17 +0000 Received: from AMS0EPF0000019D.eurprd05.prod.outlook.com (2603:10a6:20b:540:cafe::89) by AS9PR01CA0015.outlook.office365.com (2603:10a6:20b:540::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9298.12 via Frontend Transport; Thu, 6 Nov 2025 09:32:32 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF0000019D.mail.protection.outlook.com (10.167.16.249) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.6 via Frontend Transport; Thu, 6 Nov 2025 09:32:17 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 6 Nov 2025 10:32:20 +0100 Received: from localhost (10.48.87.185) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Thu, 6 Nov 2025 10:32:16 +0100 From: Gatien Chevallier Date: Thu, 6 Nov 2025 10:31:48 +0100 Subject: [PATCH v2 1/3] dt-bindings: bus: add stm32mp21 RIFSC compatible Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20251106-rifsc_debugfs-v2-1-f90e94ae756d@foss.st.com> References: <20251106-rifsc_debugfs-v2-0-f90e94ae756d@foss.st.com> In-Reply-To: <20251106-rifsc_debugfs-v2-0-f90e94ae756d@foss.st.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin , Alexandre Torgue CC: , , , , Gatien Chevallier , Conor Dooley X-Mailer: b4 0.14.3 X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF0000019D:EE_|DU0PR10MB5655:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e819196-2799-4e7d-aa30-08de1d176075 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZWtqcFJWS0NTODhsdERjaU9xRjByaWFqWjBPMkhCQWdTMnFkWjMvK29ZdlJY?= =?utf-8?B?azhQTFE3UlM1Z1hQT2dTWW1vK3lPWFZvSG8xUitHMXBWc0lrZG85eGZwa0Ja?= =?utf-8?B?TksvMXFkeGgvMlIvZ1pBOEZCSFREM1EwZ0JxOWZXQkRwZEpkek92REkxcC83?= =?utf-8?B?WDBIR05PL1dtcHRWUG0wcHZsZm1CUTlyREs5MVhXYjBZUGdRSUFpOG0xeU12?= =?utf-8?B?clcrNGhMV0VqKzFDUHo2K1lXVXoxK3JTRFdmYlRuMmJUWmtGTy9SZkhyTktV?= =?utf-8?B?TlpkRVZkZkZKaFBQVUV1R2M2dHNMeHNOWGJ0VEpPQW0yeUEwZ0lNTldBbjlw?= =?utf-8?B?ekkvSEg5akJwb2hpSVZ0ME94RFd4L210S0tNL2dWRTRKUzR5eVZqVDBHWXFx?= =?utf-8?B?T2V1a3R4T0VTUXllbjVuMmh2NVFaNHI4d2o1UzlSSjdaYTBFc3RyNkgreU1J?= =?utf-8?B?eU1Td1RBY0pKU2haVnhDNkJnekhoRFVXQk1ReDZsT0FoemZtS3JmTGJVTlNq?= =?utf-8?B?djlpVHlmMDJvakppZ3J2Tkl1Sy85ZkVYY1VLQ0ZCdlpYdVFLbXZ4OVVEcTd2?= =?utf-8?B?aG0veFp2SWVJVFVUR3E1eEhlZHo3eWhWeHRoY3A0eHpFSUhpRVpLRWxyRWFE?= =?utf-8?B?ZC81ZGFsbXdpL2pYdnBLVEFFZU1CTVBBMTVLWEJiNi9sU05xOElNQVp1WWdI?= =?utf-8?B?L0VCdW1NakxiN1JCMG5mU1l0NlRNdFdpQm1SUEpKWXR2WXl5ekc2VzBnZFJ4?= =?utf-8?B?RFN1OHdYUk8wSjhYNWNKSDcvcUJPNk1kb2xuQ0VNdy83SXdxcnFnMlhwKzRp?= =?utf-8?B?Y0Z0czQxZVc4dGR0OEJMU3pXaS9JZmlXeGx3ejZKaDN6bXJJOWJzRXZaNFha?= =?utf-8?B?NFJKdHlrOWRSTWE3RkFSNllBd0w1VHlmNlcxL2NkVXpYRy9kTkZhd2UzNzhy?= =?utf-8?B?bUYxbHVuSHlSQjN2ZngyZThaeElMUENLUVU0QVhPSitJRGxDdFUzNjNmTUhw?= =?utf-8?B?SytPbVBGa3czYTJ2RVZOeXZsQVdQMDBJeE5NTjZDQmtiaFNSdEl0TDdYdHo3?= =?utf-8?B?aTVPWWtLUkczOVZHcTJxRG96TEtQSnR3NHlNNmhXMVg1b3dBckRuRjBUREJq?= =?utf-8?B?Uy9GTnE3N3kzRlpqcWI2MWVlK3VnMFI0YlVFdEcxbmF0WFVkK1VXc0xQdmM3?= =?utf-8?B?SFd6UDRsMUo4WUw0YnhiZGJuTzFHVlo4U0UzYkN3WXlKTGVoSjllWEI5eUtF?= =?utf-8?B?aTEwbFUxWlNJOXhreVVZamZmUHJmOGxFTGtPcGxSVTQwL0pPNzNYbW1XalJM?= =?utf-8?B?MEtsK3Ywd0trYjI5bFU0VVdJMlkrb3BMamZjUm43aC9zelpDazZYOU16Mmhr?= =?utf-8?B?ajY2eWhHVW1qOVdrZlJ0SkJ0eXgwekV3WEpRRjFKbXBKR1RCalI2S2xTUG1W?= =?utf-8?B?cGZzb3BkWElpSTBGbjhCWjZ0UEllYnRKaE8vYlEyU2Z6dzFHV2R3NWNjTlpE?= =?utf-8?B?RGxHTEpmMzFPVEdjQTJEMllqcmdSQ2FyRFRDQUd3aDIxckNwT0EwL0NMNVFV?= =?utf-8?B?VWoxWkdVazdBMHJvdXpzSlNaRUtwSXorbFBvVXVLRU0xOVU0bkIwOHEvU283?= =?utf-8?B?NmRRQVdEWXU5bS9KKzFrdlZ3MmRDdklic2U3NjdkS1hCZlBmMkdrTmdMS0d1?= =?utf-8?B?eFlvRE04RXpvalJGK2FsV25JZVpCY1h3U2t1NU9GL0pXd0dWNEpwdllIKzBJ?= =?utf-8?B?OTVnVVlibmV6S1VHTGduTzFhc0d3TnV2aU5KdGp6KzNzVk1Va1U4Y2hUQkVE?= =?utf-8?B?M2UyY2REQWVMYUc5ZmprekFDSkkvT0MzUlEyL01JdTZwNUdDL3BhUDEzU1RJ?= =?utf-8?B?eSswMXlHekJzT1YzVWpIK1NrRDVUN0JkOUNsay9mMzJaMms3Nk54SDRGNzBD?= =?utf-8?B?bEMvVW5xd25jMEtjYzh1alA1RXliWDkycFZnMEVCUjRvb1R5U3NWVmphcjZJ?= =?utf-8?B?T2Q4UG8wYzBzdmt0YnBQNTlxQ2FsaGlBNkI0THh3dVZiTkYvUTZOdUxtVFVy?= =?utf-8?B?UFdHM1M5dEIvVjROcGZhSW5oRTlRVSs0Y2Vza1ZQSzdZZEN5Q2VTSkZuL3R0?= =?utf-8?Q?rr1s=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2025 09:32:17.2140 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0e819196-2799-4e7d-aa30-08de1d176075 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF0000019D.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR10MB5655 X-Authority-Analysis: v=2.4 cv=K+sv3iWI c=1 sm=1 tr=0 ts=690c6b26 cx=c_pps a=iq9n1zC+GKOXjPenYUPC1g==:117 a=d6reE3nDawwanmLcZTMRXA==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=Wpbxt3t0qq0A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10 a=VkNPw1HP01LnGYTKEx00:22 a=8b9GpE9nAAAA:8 a=XYAwZIGsAAAA:8 a=Od9f8wzskGMPMKVYy8oA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 a=E8ToXWR_bxluHZ7gmE-Z:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-ORIG-GUID: Tv9JCjzIb3N8QC15JHuAahXrPJF6yE7v X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTA2MDA3NiBTYWx0ZWRfX/kflr9E9fYDU HhQNld57JcpmCSapK9UbxJjhGseeXz2qmLreJl+by20NcD0Su0p86kQWIwuMEZ4ItfDZPscamyC o1T8xBo5KLJJmqhn4rPOj+BtgXtvzjeHu0rkseDchQOSSHg6zhVXv5CPUU77KpIAH5L4so9ABNz 09W9MVg6XhR4/1Tp+VfQsDJ8YxetaRt2JDyysD2LGZYfYqTdhPQ55OT5nxWueWEDwkieJot1Tlv KwEZ1MhyE/+puhpnlBg96iqLdkutgZk3jUo2NjiEK5LF+YZgV6LJWLrj/FD3xacqrs2yjbCiiKa oLJhCF5oRRIVWfvNb9Pgs/OajSteKDMqa9fGoIhQcdeGyTGpeaboAd+X1KYuhuTWk5OaB/hxrtA OFCSx0x4y3BN+Q5hSSBymxw67l+o4Q== X-Proofpoint-GUID: Tv9JCjzIb3N8QC15JHuAahXrPJF6yE7v X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-06_02,2025-11-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015 suspectscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511060076 The STM32MP21x platforms have a slightly different RIFSC. While its core functionalities are similar, the wiring is not the same. Hence, declare a new compatible. Signed-off-by: Gatien Chevallier Acked-by: Conor Dooley --- Documentation/devicetree/bindings/bus/st,stm32mp25-rifsc.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/bus/st,stm32mp25-rifsc.yaml = b/Documentation/devicetree/bindings/bus/st,stm32mp25-rifsc.yaml index 20acd1a6b173..3952c99cac6b 100644 --- a/Documentation/devicetree/bindings/bus/st,stm32mp25-rifsc.yaml +++ b/Documentation/devicetree/bindings/bus/st,stm32mp25-rifsc.yaml @@ -33,14 +33,18 @@ select: properties: compatible: contains: - const: st,stm32mp25-rifsc + enum: + - st,stm32mp21-rifsc + - st,stm32mp25-rifsc required: - compatible =20 properties: compatible: items: - - const: st,stm32mp25-rifsc + - enum: + - st,stm32mp21-rifsc + - st,stm32mp25-rifsc - const: simple-bus =20 reg: --=20 2.43.0 From nobody Fri Dec 19 09:25:40 2025 Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44465286D55; Thu, 6 Nov 2025 09:32:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.132.182.106 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762421565; cv=fail; b=XyN1fsArnPECa4fHwC3kETX2GsUsIITh22WKRHVjv/TexDBcY9CpHkuZvm6b2039mNtFk9EqhFZ0orRZEZO2OH3B6va4HMVKXr+meMbWW/7Y1uUNCP4mIbL49bIKm3kzSgOaIajB+AtCO/78Ryr1g0SwXSuMrld9FPpdKx5KHWM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762421565; c=relaxed/simple; bh=J5gn1c1YJCnEr8s8+vDrFb51OmO3v4odHS8UWj/AM0U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=j5PJePO7xe0rZ+z/FkWFi5OUxr9whXMAbp61EJM2LJ+d4dHHzbeOzAoHe00jXG9YRPbmXR1XHmXzKLJNBdQIJWNWooEUZsbsUX17+LUcwd983+xGTYJDii+AzvpaFdpXL52z9vfzJo4jAu0uH7FTJbi/P3vc756+dlgaiOLkk50= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=PIPGM/qC; arc=fail smtp.client-ip=185.132.182.106 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="PIPGM/qC" Received: from pps.filterd (m0288072.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5A69KMmL1382487; Thu, 6 Nov 2025 10:32:31 +0100 Received: from pa4pr04cu001.outbound.protection.outlook.com (mail-francecentralazon11013056.outbound.protection.outlook.com [40.107.162.56]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4a7g98br1n-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 06 Nov 2025 10:32:31 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lp/tMmJDkwixFAWuxtW8TaXrq/oZGzPiWF6asA8FEcGdM398KsJnxcEKEaivvuNHnMZBFcOAr2mYCpzw+8MZyc5LcbA3mVgKtTw4oAitnnm1Cxpwzm4gCV+5PDNuOZX9KDk6fUbnrksOr/2PzjZe/bopzBY5dpu2PWrtYuY5UvYHntNcaX5sFEtraHTOKewxW3tOe7dRRgP5AKJVtOuu2kx7ezCYS+qSRkPwTl3oe87ahvpCPwj95a6nb5oq5+xCiGY2NxsdeRu2JG/cgefTYXDPEILAj3IigGemxC0cLA3JTNruDviaxrVzdhpR/cEZyUE38nJZ2HfyR41HqdnaLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BO0JNAmNGRkNmjqd9C2xk6cBARTw892mhAx4MhH4KAc=; b=rjSlNbqaCMvFQW3oMFxr8Z1YPtjqVxpDDXqUXUmBfLgBkASOkEI9OO/Di+dNXGPqbfmQswsvCO2aIVI78gUM2ydKpqset7T2ci8fKr4EHhcwATksD3CUm+4ZRGsmHY63MaNG4yYCbM4WH7V8rWFYSfv+SkL9kUI9jPjKzD6yfDGGv7LGCwUgFSU7mHbaDJVbEo5vGpf8D7glw5Ur+kSWIKvHKUgBwT4rFAP17EGo0apZv2T5uOrZbKEPF4fM1WH05SnAMFZfgpeh6UeJNjiqPFr/og1O+mPVQhi32nBJsyz97Q9Sp2vkUfRvywNquWa6xN0AMk62PvXsfXI0f3MWBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.60) smtp.rcpttodomain=kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BO0JNAmNGRkNmjqd9C2xk6cBARTw892mhAx4MhH4KAc=; b=PIPGM/qCW8bf0Z59z5uBzxtAkdHhYTwRhQsOKO3cmnvLakg4m/Fk1O1bnHSB6rB74Pok63W8PsNbWvSMbleMaIYnhOrwwjA4BmXim8EhRrApgq2UYRyYMQuZczOrV7ArtiXqsFIlMT3928LEZjB31k3vwuzfrKrG7Go9oGtCrIIkPIhGvcFbj+hCpxRDIRDeS6+fe71vhOjMao8BU5wTdWjS/+YVrxYjrNA/yCKAjyoDjhEWlAjeuSpBctmhuMScGcPvDf0piTOVzhjkCKfKI5DwMZFP3kwLo4hEPcWMaJqQA6/gRP05BABqqhgO9bsLkGVm0J1fOzhOcUBM2otv6g== Received: from AS4P195CA0026.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:5d6::12) by VI1PR10MB8232.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:1d6::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.9; Thu, 6 Nov 2025 09:32:28 +0000 Received: from AMS1EPF0000004D.eurprd04.prod.outlook.com (2603:10a6:20b:5d6:cafe::79) by AS4P195CA0026.outlook.office365.com (2603:10a6:20b:5d6::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9298.12 via Frontend Transport; Thu, 6 Nov 2025 09:32:25 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.60) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.60; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.60) by AMS1EPF0000004D.mail.protection.outlook.com (10.167.16.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.6 via Frontend Transport; Thu, 6 Nov 2025 09:32:27 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 6 Nov 2025 10:32:34 +0100 Received: from localhost (10.48.87.185) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Thu, 6 Nov 2025 10:32:27 +0100 From: Gatien Chevallier Date: Thu, 6 Nov 2025 10:31:49 +0100 Subject: [PATCH v2 2/3] arm64: dts: st: set RIFSC as an access controller on stm32mp21x platforms Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20251106-rifsc_debugfs-v2-2-f90e94ae756d@foss.st.com> References: <20251106-rifsc_debugfs-v2-0-f90e94ae756d@foss.st.com> In-Reply-To: <20251106-rifsc_debugfs-v2-0-f90e94ae756d@foss.st.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin , Alexandre Torgue CC: , , , , Gatien Chevallier X-Mailer: b4 0.14.3 X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS1EPF0000004D:EE_|VI1PR10MB8232:EE_ X-MS-Office365-Filtering-Correlation-Id: 283b4aaa-2076-4bda-c7c9-08de1d1766b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZDBUbDJXNDZ6b2dzQmZIYkVsUnUzd3lsOVZvMFd3WlZkblhleHduM2QrdHdS?= =?utf-8?B?ci9GVHBkNFRQOTJTRSszbVRHSFhkUjdQS3NEVGtOOVp6K1pyZk1uUDdySXp1?= =?utf-8?B?TFM3bWNlMHB2Y1dUUGVFWDJ4eEtiMVlrZzlGajJsS0RpVzBUVVc0UDFkb25W?= =?utf-8?B?K3R4MjZEQ0p3UDgyaW5vOVFPcFp0NjhQSnBzWUlZRTllNUlJTG1paTVOZlhQ?= =?utf-8?B?T0E3d1dMTFdTdzg5WFJXUVBzMCt0ZmpjaG9mS0doUWwvTk5zRHJwRHpEclBQ?= =?utf-8?B?RkhtaHUzb2wwUTM3dmNnanA5ZWhJME1mUGxVNks2UVgrcmRlcG1kbzdXRER0?= =?utf-8?B?bzNtTXlIb3F3VVQrKzVYeHJzTExWV1VEazNlenFHTi9naWRRTUx1bDJCRWxU?= =?utf-8?B?RkxJdGFmci9YRURpb252SDBhNHQ5VGdROTYrY0YvSEQvUWwwci9vRmlNcmUw?= =?utf-8?B?YnFQWHJtdTVnSFFyVnVyNS9RVkFaK2d0TjV3OVVXZExIMWFXSVBXb3c4WEts?= =?utf-8?B?NlN4UGlvcURzaEw5U3gzbUovbFFTNkdaS2Via2E3MytHQTRXU281SVJGZ0ov?= =?utf-8?B?VzVPQis0NzhoN05LZ0R0ZFZSdGFSWDVBKzhaNkxkckgvUXNsZ1JYZDRtVEJT?= =?utf-8?B?WXV3aHhxbXZjZXJzNU4zdDNRbFpCcE5MaFprQnpoMXlqVHhWckZ5V1BZZW1F?= =?utf-8?B?YXlXcFZEYTRUWUt3N1FsUDE1MmtNcTZKSGM4NWp6bU5wQVJ4bzZMYjBjWERO?= =?utf-8?B?Q01EL2FTVFI5VXNqRFZmRnd6UXBMb1BPbTFMQVhCMko2anIwcWNVNWVtK2Fh?= =?utf-8?B?MlpBOGxFQnF6aUU5eDlaV3VyVm1vblpKeUtqeEI2OHduMDJsZkFYSi9YZ3V4?= =?utf-8?B?cUJnYTNWZDc2SXhTTnRnRXgzZ3J0dEZTbGtRanZDenJXYmNvY2JGaFhzLzFs?= =?utf-8?B?cXNPTWhZQllITDIzSzROY1lLcGhMODVCemlSTnhqdWp5MjQxSklQY29GQm51?= =?utf-8?B?R0dudnYxeEk0Rm9RRzZkbHFOcWNGTGxDUHNLeFd3enp6WldyNUJxYnZ5ZWxl?= =?utf-8?B?bkVMUmZlMDVSL3AyM3YzMlU4b0V0TUZmbktVOGZ4b1g5QnkyWno1K2VOVVJH?= =?utf-8?B?SzI4cVBjNlc4ejVITExWLzdsYnQrczJwTmZuVW9qbVk1MDc2bUdHVDA5Z2h2?= =?utf-8?B?YVBHd0VYcmd4NlIrQmVJNGV1N2ZvdThjTytWbjlpU1BuYmJTbTFQLzk3bERS?= =?utf-8?B?bHpXTEE0bUJ6N1ZuYnh6clJqeDZkUDZwZ09QMnNBemQ1ajYwd2xqWnM3QUU1?= =?utf-8?B?TUFKSEtlVG0vV0FMM0sxOXFPMFpObkxPYTZxbVJaQkpBczN5ekhaR29aVzAr?= =?utf-8?B?eFRaVDdkL2o0Vk5tVGNVcnJzUTRlcVVyTUZJMTQvMDhLVldJM1RWY0xvUWZF?= =?utf-8?B?UVVOL2ZlTlM3dXhRcTNkVWFZU2hZc1h0T2RXYkNXYlpVMUtQL1BEMkR3UUNX?= =?utf-8?B?dGg0YXRYYmx3SkdOR2pxZ21IUzAwUkFGdHNYdGpwMEI2NVJZbC9ZMTdmdDBy?= =?utf-8?B?Rmk1Vk4raTFCeDhEZTIyRW02YzZ3Q1lpMlJFNk9qRnJabHc0VktBRnBmMXJX?= =?utf-8?B?cHFOZGxKYmtOYk1COVBqcnF3eEhnb3RCWHJrNkZVcXJGZnJ3cmU1Z1M4WW5v?= =?utf-8?B?eUpyWkJDMzRaeFFpY1NCWmRDeGs4d0dxZUFDelRScC9hTHE2a1Z6NWNSbTRD?= =?utf-8?B?bWU3Umx1ZG9peHFXMnlMNEk4MjZzWDFHQVNUV2F6Y1l0L2F3R1pMTFc2NW9B?= =?utf-8?B?WXRZcU51Q3F5cmxROWowUjR5WW81cHd4MllBUWZTRjBtYlNWbW50SHhBTFEw?= =?utf-8?B?SVUweE84cmk3Z1VIekY1ZzVFbDhLRmhzZWkyQ1RoUXFIZ3BUVWZxaFF2ZStK?= =?utf-8?B?QkFtWUFPWkljRGJrNTFHNVEwRThuOEc3QXFMZUo3WVdmeVEzT3JnWkNzbFJJ?= =?utf-8?B?TFg3WmZBMEg0Z1VEYzcyUExhUUtEU0U5WTVIaVYvcWMyUlZ4Q3pRbjFhVzdV?= =?utf-8?B?K3A3aDA0UUpsMXlPNkdmS0JHMnFUWjlkWUo3ZXYrMEVwL2EvK2d1RzlUSXM5?= =?utf-8?Q?Vat4=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.60;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2025 09:32:27.6760 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 283b4aaa-2076-4bda-c7c9-08de1d1766b1 X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.60];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS1EPF0000004D.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB8232 X-Authority-Analysis: v=2.4 cv=K+sv3iWI c=1 sm=1 tr=0 ts=690c6b2f cx=c_pps a=Mlku5byoIyj4Wp75YdBBDw==:117 a=uCuRqK4WZKO1kjFMGfU4lQ==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=Wpbxt3t0qq0A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10 a=VkNPw1HP01LnGYTKEx00:22 a=8b9GpE9nAAAA:8 a=GThSmsW_2FqIp-Q6p0QA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-ORIG-GUID: FZ40OLBveMmzv8YizF07WlvCVUpJJGbk X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTA2MDA3NiBTYWx0ZWRfX1HusUymFnHMO 31TEfGBsZk20WfzyfZ6neMgR+nGSc6AX9qTyyYSs9MVlY0ULXWIcIuzKN5GT+6fxqQQ6IFxyXDd Sk2jRMqbKQs9tg7WLRvCN+eyXNP6b9fdS6i5vowVtx8a9IrjmfdyD3kxxatMgu6MQq70awZCtJU OwQ5507iWqwlOh+JhH01OZIJAogYN5xLDc/Y8UyZnwPEvfhX3NLOmbP5jwbG95mVLVAxHwaFlRE /Lid5q8PyxBE/3vgOMGjPL3cETL0THgjnh8Kz0DNRc0pFWxPW+ox98JlFEcIvm11fuqJPxO0XZ1 ma1+EHNd+jNb3gA9cxkfOY5NqovuAM5gam14xIUPc/Xb9THPk+3QFO8AUrdfXqYVmSWfFllnkXx tRvLyHdF3NjgnczmIGYUrNKNOI1yeg== X-Proofpoint-GUID: FZ40OLBveMmzv8YizF07WlvCVUpJJGbk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-06_02,2025-11-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015 suspectscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511060076 Similarly to stm32mp23x/25x platforms, the RIFSC is a firewall controller. Declare it as an access controller, keep the "simple-bus" compatible in case CONFIG_STM32_FIREWALL is not set and update the child nodes. Signed-off-by: Gatien Chevallier --- arch/arm64/boot/dts/st/stm32mp211.dtsi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/st/stm32mp211.dtsi b/arch/arm64/boot/dts/s= t/stm32mp211.dtsi index bf888d60cd4f..cd078a16065e 100644 --- a/arch/arm64/boot/dts/st/stm32mp211.dtsi +++ b/arch/arm64/boot/dts/st/stm32mp211.dtsi @@ -94,18 +94,20 @@ soc@0 { #size-cells =3D <2>; =20 rifsc: bus@42080000 { - compatible =3D "simple-bus"; + compatible =3D "st,stm32mp21-rifsc", "simple-bus"; reg =3D <0x42080000 0x0 0x1000>; ranges; dma-ranges; #address-cells =3D <1>; #size-cells =3D <2>; + #access-controller-cells =3D <1>; =20 usart2: serial@400e0000 { compatible =3D "st,stm32h7-uart"; reg =3D <0x400e0000 0x0 0x400>; interrupts =3D ; clocks =3D <&ck_flexgen_08>; + access-controllers =3D <&rifsc 32>; status =3D "disabled"; }; }; --=20 2.43.0 From nobody Fri Dec 19 09:25:40 2025 Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 16867286D55; Thu, 6 Nov 2025 09:32:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.132.182.106 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762421575; cv=fail; b=HEruKW0IrKOyg/KvazDn4avp4PpMSBbu8JMEYpQ1uUpB3hCSG4+Jb4jfuMNSCvAOxYtxCW9nxYjEMUVCVBUAIe+Bjd9xGyDuh+tMwoqYvuvpdoWbyQLta9xKQwuqB2h8wylK5h8FnI7vTkHmM1W6s3maTy/Y0Oq9CNxuNDTKX70= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762421575; c=relaxed/simple; bh=iYcHOw7cu8cgKvw45fzo4U1UCvwMRtnr07YCvUTRGa8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=iPiqM8eLXBtgZNosDGBfBqWq1DNLxqPpAtstCYTSL241tbg70kqP6ZPeaB6OU3vWVUZgLadlvLJCyA/Pt6eZUpARUH/vbL1USymRwNJuTOO0+YpUT/kBZu6om4etCBInV3bV8rXnZrSxoqYRPth8RcsCu2znEN5Y8zcZ7PmBzCQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=WNK0LGAD; arc=fail smtp.client-ip=185.132.182.106 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="WNK0LGAD" Received: from pps.filterd (m0241204.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5A69Ji781339748; Thu, 6 Nov 2025 10:32:42 +0100 Received: from osppr02cu001.outbound.protection.outlook.com (mail-norwayeastazon11013064.outbound.protection.outlook.com [40.107.159.64]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 4a7g9nbpuh-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 06 Nov 2025 10:32:41 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tM3uA3flX82pcsGDCYtrSaUZIkBF5/BHJZOcj6+b0Fio856TyqVkeWMCePlouwdlthj9rHjX2T/g4Vefs+lUoXZy4ZTJgpw4UQGPrPy+WwMTGni4g12zdc8XPtCKZShs1TQOlD04BZQXrnZGqoNkybBjPyGB1/CjSkO6iw5ZxegZM57joTSaE8HoWv/hpuiS44FcLmQqDWSejRVbtX+5HHupq5VExder9yOzGrzd6CrHt4qjzIwkkpEQAwh6vFVnaXxZvCvt1LjHyi7eOewY+ku36aQYRBSozHJkWgSV9DQrp8uZXtNsWc6qD7EMyn1hKvUcdUnlHaKG88P10CZssQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qbUE7XDGw+5KX+MGTtKg0/SGLpuu8zvUo2T9nOyuX4M=; b=uP0e7lUqTmG+68tDW8/RqxaFw7ea6P53rwjWDGtwuxysI7yWnNHlWoDBdKW3yQMsy6HTTla1P5lHlZBp0cq62XhBSgnFk1+ekbBEAAGzfPr2nUsl8HutXkviEu4QuP2M0dOgCUuRSeR2/BfeFLQ3QPsHR/4yKdk9iHDPEMY67nFjNrt8+CFfrqW8AmoqLc3DkmivDCS3LiZFJMSFVPeQ5NjyOH8JBVE3ou6L7UArFknB3CNEdOf8U1sj4K9/riuC+5uAsK8q/5VlO8hc8C9E/nbFKX+C0Cb/TKS+ubafh2Ps6xGXdlE7pSgARUdg5//86nZ/Uzh0gidnvjxGhrzbnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 164.130.1.59) smtp.rcpttodomain=kernel.org smtp.mailfrom=foss.st.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qbUE7XDGw+5KX+MGTtKg0/SGLpuu8zvUo2T9nOyuX4M=; b=WNK0LGADaf8CVk5F3WOqDsznmoW3jXV4nOd0VNg9ka1keOIIbgyWSykv3DrTadl+IGKX4ri19M/OYIxJ+nwwaVcoyI+njoFkSnnHb5xHiARFrp4lxwhTv2eWxA8lZLHU7fNGzHLPQZEeNzDfPJBNi3T9P3nivUaYgk+16LttN9zF6i/7lrEC+x53GabJczTNUQ8L0KJAWNh9/fpwsuD9jFD1S2xNQZ5Jdtr49amYUgDeL1p0Y0ROcbrdDWO1v0Lw/56reKRDlu/lPTMlkQbQAzERDC6NawFNXv/oOceN6GLoxxoVsl9Arj7FQDxTxQsfkG9tpE30+R3bf4g3ySwmzg== Received: from AS4P195CA0032.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:65a::6) by DB8PR10MB3276.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:11a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.12; Thu, 6 Nov 2025 09:32:39 +0000 Received: from AMS0EPF0000019E.eurprd05.prod.outlook.com (2603:10a6:20b:65a:cafe::ee) by AS4P195CA0032.outlook.office365.com (2603:10a6:20b:65a::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9298.12 via Frontend Transport; Thu, 6 Nov 2025 09:32:36 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 164.130.1.59) smtp.mailfrom=foss.st.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=foss.st.com; Received-SPF: Fail (protection.outlook.com: domain of foss.st.com does not designate 164.130.1.59 as permitted sender) receiver=protection.outlook.com; client-ip=164.130.1.59; helo=smtpO365.st.com; Received: from smtpO365.st.com (164.130.1.59) by AMS0EPF0000019E.mail.protection.outlook.com (10.167.16.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.6 via Frontend Transport; Thu, 6 Nov 2025 09:32:38 +0000 Received: from STKDAG1NODE2.st.com (10.75.128.133) by smtpo365.st.com (10.250.44.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 6 Nov 2025 10:32:42 +0100 Received: from localhost (10.48.87.185) by STKDAG1NODE2.st.com (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Thu, 6 Nov 2025 10:32:37 +0100 From: Gatien Chevallier Date: Thu, 6 Nov 2025 10:31:50 +0100 Subject: [PATCH v2 3/3] bus: rifsc: add debugfs entry to dump the firewall configuration Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20251106-rifsc_debugfs-v2-3-f90e94ae756d@foss.st.com> References: <20251106-rifsc_debugfs-v2-0-f90e94ae756d@foss.st.com> In-Reply-To: <20251106-rifsc_debugfs-v2-0-f90e94ae756d@foss.st.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin , Alexandre Torgue CC: , , , , Gatien Chevallier X-Mailer: b4 0.14.3 X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To STKDAG1NODE2.st.com (10.75.128.133) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMS0EPF0000019E:EE_|DB8PR10MB3276:EE_ X-MS-Office365-Filtering-Correlation-Id: 60c0dfe4-5198-418b-fd58-08de1d176d3a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NGpKYUdsWTh6VnNIMmNVcENHdHMzR2xhd1ducTJHMWc2Wkc4VUFSUkIzeXQ2?= =?utf-8?B?bUFpY1NDUkttWU1VbVVJblNUQ3FoSFE2TjNOaWZuWVBsZmpUNEp0Y3J1ZExG?= =?utf-8?B?ckJKYzI0YzNUTWxHTUw5Q09pdWg4cUJ6QVZreTVNb3RaY2MvSktCSFd2eWtL?= =?utf-8?B?Z0RJZ3lZSThCNm5ReVl6U2YvbklqWFhhYmxZSWJ4Y21FVWk4eU1ib3E3MG05?= =?utf-8?B?U1pjdTlld2QvcEtqVCtPK2NiTmJmTzY4UCtCOXlXdDlwWlZoMU83TnVicFZ4?= =?utf-8?B?ZURmeEg3TWV3dVFQb05nZGFacnBzUGNNZ2l1TC95K1NoUE8wU2dCWVl3cllH?= =?utf-8?B?aGV3RFM2S1Jod1JrOGF2eEFYTjJuanp2NFYrV20vakQ3WUh1TVVIZmZGcE9S?= =?utf-8?B?WHhwRTNjN0FPZVN5ZlZUd0pVTWpQR3A5RUVYdVcvZ0hxYnMxSmNlRHR4ZytU?= =?utf-8?B?a1A3dDZDaTBad1dxTFhEb2lPODBBWG1KNGFGQ1h5bk8zM2gyazhZUmNjR2N2?= =?utf-8?B?MnRQaVpNbGVVTkUrR3BWeGU3ZDM1RUVXOVpzbE5aOUJmNHVBdGJNWFltWDVj?= =?utf-8?B?ZGNUKzlobnpNT0x6ajVSRkJMZzJZOERiV0VxVXNhM1h6RWQ4Z1BzbVV0R3ZJ?= =?utf-8?B?b3d2SmIzSVdKK2c3aFdPN21TWFR0T3NWZjFJVDV0dGpzM1BQZTBZRkhuMTV0?= =?utf-8?B?bEIvSHBjTjhIKzJUQUVsUm1acGR6ekhnL2dqTDFvMTBKeE5sOUZZelBFb0Yy?= =?utf-8?B?MFpVRWYxTW9GWkNQTFdxemhOTlN1Q0NUSTk0bFZOTUlQS0FNRWZ6aXlxZGda?= =?utf-8?B?bGNIc1kwcDdkUEM5alB4N0VaSDZjUXRVcVhmZkFQVk5PSllRWmk4b1JFWmR4?= =?utf-8?B?R3FIR1BpcEdhQmYwOTJXQ01rZ1UrSnE1WmQyMDFqUUc2dVZ1aVAxdmxZd05k?= =?utf-8?B?Wm5RUHR5aGQ3OEJzNW0zTWU4ZXliaXdIa21BUVgxMm5CcEFWVW5KNWxSeTk4?= =?utf-8?B?MFU0YXczU0trdVd1RGhFZUdaekEvVWY5ZW9iRXpUN1dIdVBXTlRyWE9pZGgx?= =?utf-8?B?Y0czalZjeVlkSW9DeXFITjJCWk9wV1phNW1RbmNyQ1h2L0xrN1VkUnpqeE9Z?= =?utf-8?B?L2xkQXVnUzExWGM4bjEwNFlKd05MaXlkVnpXeW5vV0hzQ3AvdTFLU2VKeE96?= =?utf-8?B?N0xHWmJhVkY3bCtweXpLc3NQb1ptcVNNUU95Z20xZlhLejAyS2tKdVVqZEFL?= =?utf-8?B?RGVNdzBwNkN4bkcyLzd5NkszUnFGSHNrQ1VmNkJreUxCWjU1N3I5Ry9WQUdr?= =?utf-8?B?OUpJeDdwMFJidE5KTnpuVkZkUGkxSmZhaVZDYy8rMTFtdDlxOEFmOHJtMlFS?= =?utf-8?B?Mi9lUFZGU3FuYTBmdUN6YzZEdkJ1V3MvMmlMck1ZdlFBSlY1YXUwd3BkbXRC?= =?utf-8?B?UU10K0tJSEkvYUEvZ1R4T3JaOTNGUEY1QlRHcmVxZjFZMG10bmYvUjVvNkhC?= =?utf-8?B?VWZqUTNRR3dJMWJMR05rRExMRUdpWU0wcTlYVmtXRXozZlFsQ2JyLytQcDRQ?= =?utf-8?B?eUF4K0Z2cWd6WWhqY1NvK2VkdVozdVpIemsxNVpOWUtxUkxFMlZEZWhOaWMv?= =?utf-8?B?TlRvd2lsVXNDTVNnTEdoa01QdVpjWUx5YjNpTGJiQjAyaFE2NGU0cGNTeEZO?= =?utf-8?B?WVZvOUd0c2pHVVllYjdIMGJ4RmlsMW1lckVWd2wrVlllSUl4L0lUY0hTOUJl?= =?utf-8?B?bUNxc0xmM05UVGJSMEZGWWZWTDZtZk90bEw0d0lOcUUvUTExM3ZkOXZVWHdY?= =?utf-8?B?WGpiemttRTZvYnJkMjdtQVRzQ0kwZFhtZlBibTdyU2ZzKzN6ZnhPdHZQcDZ3?= =?utf-8?B?Z0crcnpzVmVaUHcyNE9zZSt5M0poK0tCYkxkbWxaTmwrWHJVNGVoUXBhWWsx?= =?utf-8?B?TnY2SkxQUzdxeXZ4OWt2WHlQK2FIN240VXE3RkxCVmJ3VDR3RklFVGJwdDdP?= =?utf-8?B?MGN4a3c3aCsxRFo2VWtyelAxMDRlbWJGUmhPLzVrelc2ZGpPMmIrdVFLNTZU?= =?utf-8?B?bjMxZEJMa00vTVdFQ3FJemJacFpLa1RtcnEyVnk1WXBJNGdkR0VLOW01Sk00?= =?utf-8?Q?gFNA=3D?= X-Forefront-Antispam-Report: CIP:164.130.1.59;CTRY:IT;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:smtpO365.st.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: foss.st.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2025 09:32:38.6407 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 60c0dfe4-5198-418b-fd58-08de1d176d3a X-MS-Exchange-CrossTenant-Id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;Ip=[164.130.1.59];Helo=[smtpO365.st.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF0000019E.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR10MB3276 X-Authority-Analysis: v=2.4 cv=WL9yn3sR c=1 sm=1 tr=0 ts=690c6b39 cx=c_pps a=JRzJ8T7PdTfL/uBtHARA3w==:117 a=d6reE3nDawwanmLcZTMRXA==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=Wpbxt3t0qq0A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10 a=VkNPw1HP01LnGYTKEx00:22 a=8b9GpE9nAAAA:8 a=sv003Xou3s-jQteCACwA:9 a=QEXdDO2ut3YA:10 a=T3LWEMljR5ZiDmsYVIUa:22 a=cPQSjfK2_nFv0Q5t_7PE:22 X-Proofpoint-GUID: GWGol1fWY4ikYMnyNPC3oLKdeULV9Fc6 X-Proofpoint-ORIG-GUID: GWGol1fWY4ikYMnyNPC3oLKdeULV9Fc6 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTA2MDA3NiBTYWx0ZWRfX+3mR9AG7kIJX +4Yh9G6xEDtnYWAEZouLKuyEFiSbkGmEoXoNL/1c8RBq2cjfb81vXN2P7fRsQ5PomFWb0a6f4aL pxs0t/lhIfDtfX5tmfnqUcJcA2laBokCm6RgKbwe3WdeHIeb4CxYfVH1bXEs97opOP7OB8SHMXl pbmADKDYWphNnz0mVxNpk1aBLB30dChar1+iavZVt3CwyAHAP0Md9DwfMDzBJdc8PNKDu1Xg7ov IzeaDdPoCS5mx5vqWWYl9A4cAjRBavB61+6w6BHLESEstR/23TkFMFVtqkJrfuBlQCMHBJ1u3lI 18mnkLsgWruaqfleAkcbB47VNctrFlrynVBSm1oi152qek2E+yOJBDTzYS+AqcG0zCq3KSTMIdC 9p4MQNuLeY0l19+vXme9DP7Xs63BEg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-06_02,2025-11-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 adultscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511060076 RIFSC configuration can be difficult to debug. Add a debugfs entry that dumps the configuration of the RISUPs, the RISALs and the RIMUs. This will allow to display the whole RIFSC firewall configuration at runtime. While there, fix a bug on the computation of firewall entries in the probe function. Signed-off-by: Gatien Chevallier --- drivers/bus/stm32_rifsc.c | 597 ++++++++++++++++++++++++++++++++++++++++++= +++- 1 file changed, 593 insertions(+), 4 deletions(-) diff --git a/drivers/bus/stm32_rifsc.c b/drivers/bus/stm32_rifsc.c index 4cf1b60014b7..debeaf8ea1bd 100644 --- a/drivers/bus/stm32_rifsc.c +++ b/drivers/bus/stm32_rifsc.c @@ -5,6 +5,7 @@ =20 #include #include +#include #include #include #include @@ -25,6 +26,8 @@ #define RIFSC_RISC_PRIVCFGR0 0x30 #define RIFSC_RISC_PER0_CIDCFGR 0x100 #define RIFSC_RISC_PER0_SEMCR 0x104 +#define RIFSC_RISC_REG0_ACFGR 0x900 +#define RIFSC_RISC_REG3_AADDR 0x924 #define RIFSC_RISC_HWCFGR2 0xFEC =20 /* @@ -70,6 +73,565 @@ #define RIF_CID0 0x0 #define RIF_CID1 0x1 =20 +#if defined(CONFIG_DEBUG_FS) +#define RIFSC_RISUP_ENTRIES 128 +#define RIFSC_RIMU_ENTRIES 16 +#define RIFSC_RISAL_SUBREGIONS 2 +#define RIFSC_RISAL_GRANULARITY 8 + +#define RIFSC_RIMC_ATTR0 0xC10 + +#define RIFSC_RIMC_CIDSEL BIT(2) +#define RIFSC_RIMC_MCID_MASK GENMASK(6, 4) +#define RIFSC_RIMC_MSEC BIT(8) +#define RIFSC_RIMC_MPRIV BIT(9) + +#define RIFSC_RISC_SRCID_MASK GENMASK(6, 4) +#define RIFSC_RISC_SRPRIV BIT(9) +#define RIFSC_RISC_SRSEC BIT(8) +#define RIFSC_RISC_SRRLOCK BIT(1) +#define RIFSC_RISC_SREN BIT(0) +#define RIFSC_RISC_SRLENGTH_MASK GENMASK(27, 16) +#define RIFSC_RISC_SRSTART_MASK GENMASK(10, 0) + +static const char *stm32mp21_rifsc_rimu_names[RIFSC_RIMU_ENTRIES] =3D { + "ETR", + "SDMMC1", + "SDMMC2", + "SDMMC3", + "OTG_HS", + "USBH", + "ETH1", + "ETH2", + "RESERVED", + "RESERVED", + "DCMIPP", + "LTDC_L1/L2", + "LTDC_L3", + "RESERVED", + "RESERVED", + "RESERVED", +}; + +static const char *stm32mp25_rifsc_rimu_names[RIFSC_RIMU_ENTRIES] =3D { + "ETR", + "SDMMC1", + "SDMMC2", + "SDMMC3", + "USB3DR", + "USBH", + "ETH1", + "ETH2", + "PCIE", + "GPU", + "DMCIPP", + "LTDC_L0/L1", + "LTDC_L2", + "LTDC_ROT", + "VDEC", + "VENC" +}; + +static const char *stm32mp21_rifsc_risup_names[RIFSC_RISUP_ENTRIES] =3D { + "TIM1", + "TIM2", + "TIM3", + "TIM4", + "TIM5", + "TIM6", + "TIM7", + "TIM8", + "TIM10", + "TIM11", + "TIM12", + "TIM13", + "TIM14", + "TIM15", + "TIM16", + "TIM17", + "RESERVED", + "LPTIM1", + "LPTIM2", + "LPTIM3", + "LPTIM4", + "LPTIM5", + "SPI1", + "SPI2", + "SPI3", + "SPI4", + "SPI5", + "SPI6", + "RESERVED", + "RESERVED", + "SPDIFRX", + "USART1", + "USART2", + "USART3", + "UART4", + "UART5", + "USART6", + "UART7", + "RESERVED", + "RESERVED", + "LPUART1", + "I2C1", + "I2C2", + "I2C3", + "RESERVED", + "RESERVED", + "RESERVED", + "RESERVED", + "RESERVED", + "SAI1", + "SAI2", + "SAI3", + "SAI4", + "RESERVED", + "MDF1", + "RESERVED", + "FDCAN", + "HDP", + "ADC1", + "ADC2", + "ETH1", + "ETH2", + "RESERVED", + "USBH", + "RESERVED", + "RESERVED", + "OTG_HS", + "DDRPERFM", + "RESERVED", + "RESERVED", + "RESERVED", + "RESERVED", + "RESERVED", + "STGEN", + "OCTOSPI1", + "RESERVED", + "SDMMC1", + "SDMMC2", + "SDMMC3", + "RESERVED", + "LTDC_CMN", + "RESERVED", + "RESERVED", + "RESERVED", + "RESERVED", + "RESERVED", + "CSI", + "DCMIPP", + "DCMI_PSSI", + "RESERVED", + "RESERVED", + "RESERVED", + "RNG1", + "RNG2", + "PKA", + "SAES", + "HASH1", + "HASH2", + "CRYP1", + "CRYP2", + "IWDG1", + "IWDG2", + "IWDG3", + "IWDG4", + "WWDG1", + "RESERVED", + "VREFBUF", + "DTS", + "RAMCFG", + "CRC", + "SERC", + "RESERVED", + "RESERVED", + "RESERVED", + "I3C1", + "I3C2", + "I3C3", + "RESERVED", + "ICACHE_DCACHE", + "LTDC_L1L2", + "LTDC_L3", + "RESERVED", + "RESERVED", + "RESERVED", + "RESERVED", + "OTFDEC1", + "RESERVED", + "IAC", +}; + +static const char *stm32mp25_rifsc_risup_names[RIFSC_RISUP_ENTRIES] =3D { + "TIM1", + "TIM2", + "TIM3", + "TIM4", + "TIM5", + "TIM6", + "TIM7", + "TIM8", + "TIM10", + "TIM11", + "TIM12", + "TIM13", + "TIM14", + "TIM15", + "TIM16", + "TIM17", + "TIM20", + "LPTIM1", + "LPTIM2", + "LPTIM3", + "LPTIM4", + "LPTIM5", + "SPI1", + "SPI2", + "SPI3", + "SPI4", + "SPI5", + "SPI6", + "SPI7", + "SPI8", + "SPDIFRX", + "USART1", + "USART2", + "USART3", + "UART4", + "UART5", + "USART6", + "UART7", + "UART8", + "UART9", + "LPUART1", + "I2C1", + "I2C2", + "I2C3", + "I2C4", + "I2C5", + "I2C6", + "I2C7", + "I2C8", + "SAI1", + "SAI2", + "SAI3", + "SAI4", + "RESERVED", + "MDF1", + "ADF1", + "FDCAN", + "HDP", + "ADC12", + "ADC3", + "ETH1", + "ETH2", + "RESERVED", + "USBH", + "RESERVED", + "RESERVED", + "USB3DR", + "COMBOPHY", + "PCIE", + "UCPD1", + "ETHSW_DEIP", + "ETHSW_ACM_CF", + "ETHSW_ACM_MSGBU", + "STGEN", + "OCTOSPI1", + "OCTOSPI2", + "SDMMC1", + "SDMMC2", + "SDMMC3", + "GPU", + "LTDC_CMN", + "DSI_CMN", + "RESERVED", + "RESERVED", + "LVDS", + "RESERVED", + "CSI", + "DCMIPP", + "DCMI_PSSI", + "VDEC", + "VENC", + "RESERVED", + "RNG", + "PKA", + "SAES", + "HASH", + "CRYP1", + "CRYP2", + "IWDG1", + "IWDG2", + "IWDG3", + "IWDG4", + "IWDG5", + "WWDG1", + "WWDG2", + "RESERVED", + "VREFBUF", + "DTS", + "RAMCFG", + "CRC", + "SERC", + "OCTOSPIM", + "GICV2M", + "RESERVED", + "I3C1", + "I3C2", + "I3C3", + "I3C4", + "ICACHE_DCACHE", + "LTDC_L0L1", + "LTDC_L2", + "LTDC_ROT", + "DSI_TRIG", + "DSI_RDFIFO", + "RESERVED", + "OTFDEC1", + "OTFDEC2", + "IAC", +}; +struct rifsc_risup_debug_data { + char dev_name[15]; + u8 dev_cid; + u8 dev_sem_cids; + u8 dev_id; + bool dev_cid_filt_en; + bool dev_sem_en; + bool dev_priv; + bool dev_sec; +}; + +struct rifsc_rimu_debug_data { + char m_name[11]; + u8 m_cid; + bool cidsel; + bool m_sec; + bool m_priv; +}; + +struct rifsc_subreg_debug_data { + bool sr_sec; + bool sr_priv; + u8 sr_cid; + bool sr_rlock; + bool sr_enable; + u16 sr_start; + u16 sr_length; +}; + +struct stm32_rifsc_resources_names { + const char **device_names; + const char **initiator_names; +}; +struct rifsc_dbg_private { + const struct stm32_rifsc_resources_names *res_names; + void __iomem *mmio; + unsigned int nb_risup; + unsigned int nb_rimu; + unsigned int nb_risal; +}; + +static const struct stm32_rifsc_resources_names rifsc_mp21_res_names =3D { + .device_names =3D stm32mp21_rifsc_risup_names, + .initiator_names =3D stm32mp21_rifsc_rimu_names, +}; + +static const struct stm32_rifsc_resources_names rifsc_mp25_res_names =3D { + .device_names =3D stm32mp25_rifsc_risup_names, + .initiator_names =3D stm32mp25_rifsc_rimu_names, +}; + +static void stm32_rifsc_fill_rimu_dbg_entry(struct rifsc_dbg_private *rifs= c, + struct rifsc_rimu_debug_data *dbg_entry, int i) +{ + const struct stm32_rifsc_resources_names *dbg_names =3D rifsc->res_names; + u32 rimc_attr =3D readl_relaxed(rifsc->mmio + RIFSC_RIMC_ATTR0 + 0x4 * i); + + snprintf(dbg_entry->m_name, sizeof(dbg_entry->m_name), "%s", dbg_names->i= nitiator_names[i]); + dbg_entry->m_cid =3D FIELD_GET(RIFSC_RIMC_MCID_MASK, rimc_attr); + dbg_entry->cidsel =3D rimc_attr & RIFSC_RIMC_CIDSEL; + dbg_entry->m_sec =3D rimc_attr & RIFSC_RIMC_MSEC; + dbg_entry->m_priv =3D rimc_attr & RIFSC_RIMC_MPRIV; +} + +static void stm32_rifsc_fill_dev_dbg_entry(struct rifsc_dbg_private *rifsc, + struct rifsc_risup_debug_data *dbg_entry, int i) +{ + const struct stm32_rifsc_resources_names *dbg_names =3D rifsc->res_names; + u32 cid_cfgr, sec_cfgr, priv_cfgr; + u8 reg_id =3D i / IDS_PER_RISC_SEC_PRIV_REGS; + u8 reg_offset =3D i % IDS_PER_RISC_SEC_PRIV_REGS; + + cid_cfgr =3D readl_relaxed(rifsc->mmio + RIFSC_RISC_PER0_CIDCFGR + 0x8 * = i); + sec_cfgr =3D readl_relaxed(rifsc->mmio + RIFSC_RISC_SECCFGR0 + 0x4 * reg_= id); + priv_cfgr =3D readl_relaxed(rifsc->mmio + RIFSC_RISC_PRIVCFGR0 + 0x4 * re= g_id); + + snprintf(dbg_entry->dev_name, sizeof(dbg_entry->dev_name), "%s", + dbg_names->device_names[i]); + dbg_entry->dev_id =3D i; + dbg_entry->dev_cid_filt_en =3D cid_cfgr & CIDCFGR_CFEN; + dbg_entry->dev_sem_en =3D cid_cfgr & CIDCFGR_SEMEN; + dbg_entry->dev_cid =3D FIELD_GET(RIFSC_RISC_SCID_MASK, cid_cfgr); + dbg_entry->dev_sem_cids =3D FIELD_GET(RIFSC_RISC_SEMWL_MASK, cid_cfgr); + dbg_entry->dev_sec =3D sec_cfgr & BIT(reg_offset) ? true : false; + dbg_entry->dev_priv =3D priv_cfgr & BIT(reg_offset) ? true : false; +} + + +static void stm32_rifsc_fill_subreg_dbg_entry(struct rifsc_dbg_private *ri= fsc, + struct rifsc_subreg_debug_data *dbg_entry, int i, + int j) +{ + u32 risc_xcfgr =3D readl_relaxed(rifsc->mmio + RIFSC_RISC_REG0_ACFGR + 0x= 10 * i + 0x8 * j); + u32 risc_xaddr; + + dbg_entry->sr_sec =3D risc_xcfgr & RIFSC_RISC_SRSEC; + dbg_entry->sr_priv =3D risc_xcfgr & RIFSC_RISC_SRPRIV; + dbg_entry->sr_cid =3D FIELD_GET(RIFSC_RISC_SRCID_MASK, risc_xcfgr); + dbg_entry->sr_rlock =3D risc_xcfgr & RIFSC_RISC_SRRLOCK; + dbg_entry->sr_enable =3D risc_xcfgr & RIFSC_RISC_SREN; + if (i =3D=3D 2) { + risc_xaddr =3D readl_relaxed(rifsc->mmio + RIFSC_RISC_REG3_AADDR + 0x8 *= j); + dbg_entry->sr_length =3D FIELD_GET(RIFSC_RISC_SRLENGTH_MASK, risc_xaddr); + dbg_entry->sr_start =3D FIELD_GET(RIFSC_RISC_SRSTART_MASK, risc_xaddr); + } else { + dbg_entry->sr_start =3D 0; + dbg_entry->sr_length =3D U16_MAX; + } +} + +static int stm32_rifsc_conf_dump_show(struct seq_file *s, void *data) +{ + struct rifsc_dbg_private *rifsc =3D (struct rifsc_dbg_private *)s->privat= e; + int i, j; + + seq_puts(s, "\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D\n"); + seq_puts(s, " RIFSC dump\n"); + seq_puts(s, "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= \n\n"); + + seq_puts(s, "\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D\n"); + seq_puts(s, " RISUP dump\n"); + seq_puts(s, "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= \n"); + + seq_printf(s, "\n| %-15s |", "Peripheral name"); + seq_puts(s, "| Firewall ID |"); + seq_puts(s, "| N/SECURE |"); + seq_puts(s, "| N/PRIVILEGED |"); + seq_puts(s, "| CID filtering |"); + seq_puts(s, "| Semaphore mode |"); + seq_puts(s, "| SCID |"); + seq_printf(s, "| %7s |\n", "SEMWL"); + + for (i =3D 0; i < RIFSC_RISUP_ENTRIES && i < rifsc->nb_risup; i++) { + struct rifsc_risup_debug_data d_dbg_entry; + + stm32_rifsc_fill_dev_dbg_entry(rifsc, &d_dbg_entry, i); + + seq_printf(s, "| %-15s |", d_dbg_entry.dev_name); + seq_printf(s, "| %-11d |", d_dbg_entry.dev_id); + seq_printf(s, "| %-8s |", d_dbg_entry.dev_sec ? "SEC" : "NSEC"); + seq_printf(s, "| %-12s |", d_dbg_entry.dev_priv ? "PRIV" : "NPRIV"); + seq_printf(s, "| %-13s |", str_enabled_disabled(d_dbg_entry.dev_cid_filt= _en)); + seq_printf(s, "| %-14s |", str_enabled_disabled(d_dbg_entry.dev_sem_en)); + seq_printf(s, "| %-4d |", d_dbg_entry.dev_cid); + seq_printf(s, "| %#-7x |\n", d_dbg_entry.dev_sem_cids); + } + + seq_puts(s, "\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D\n"); + seq_puts(s, " RIMU dump\n"); + seq_puts(s, "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= \n"); + + seq_puts(s, "| RIMU's name |"); + seq_puts(s, "| CIDSEL |"); + seq_puts(s, "| MCID |"); + seq_puts(s, "| N/SECURE |"); + seq_puts(s, "| N/PRIVILEGED |\n"); + + for (i =3D 0; i < RIFSC_RIMU_ENTRIES && rifsc->nb_rimu; i++) { + struct rifsc_rimu_debug_data m_dbg_entry; + + stm32_rifsc_fill_rimu_dbg_entry(rifsc, &m_dbg_entry, i); + + seq_printf(s, "| %-11s |", m_dbg_entry.m_name); + seq_printf(s, "| %-6s |", m_dbg_entry.cidsel ? "CIDSEL" : ""); + seq_printf(s, "| %-4d |", m_dbg_entry.m_cid); + seq_printf(s, "| %-8s |", m_dbg_entry.m_sec ? "SEC" : "NSEC"); + seq_printf(s, "| %-12s |\n", m_dbg_entry.m_priv ? "PRIV" : "NPRIV"); + } + + if (rifsc->nb_risal > 0) { + seq_puts(s, "\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D\n"); + seq_puts(s, " RISAL dump\n"); + seq_puts(s, "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D\n"); + + seq_puts(s, "| Memory |"); + seq_puts(s, "| Subreg. |"); + seq_puts(s, "| N/SECURE |"); + seq_puts(s, "| N/PRIVILEGED |"); + seq_puts(s, "| Subreg. CID |"); + seq_puts(s, "| Resource lock |"); + seq_puts(s, "| Subreg. enable |"); + seq_puts(s, "| Subreg. start |"); + seq_puts(s, "| Subreg. end |\n"); + + for (i =3D 0; i < rifsc->nb_risal; i++) { + for (j =3D 0; j < RIFSC_RISAL_SUBREGIONS; j++) { + struct rifsc_subreg_debug_data sr_dbg_entry; + + stm32_rifsc_fill_subreg_dbg_entry(rifsc, &sr_dbg_entry, i, j); + + seq_printf(s, "| LPSRAM%1d |", i + 1); + seq_printf(s, "| %1s |", (j =3D=3D 0) ? "A" : "B"); + seq_printf(s, "| %-8s |", sr_dbg_entry.sr_sec ? "SEC" : "NSEC"); + seq_printf(s, "| %-12s |", sr_dbg_entry.sr_priv ? "PRIV" : "NPRIV"); + seq_printf(s, "| 0x%-9x |", sr_dbg_entry.sr_cid); + seq_printf(s, "| %-13s |", + sr_dbg_entry.sr_rlock ? "locked (1)" : "unlocked (0)"); + seq_printf(s, "| %-14s |", + str_enabled_disabled(sr_dbg_entry.sr_enable)); + seq_printf(s, "| 0x%-11x |", sr_dbg_entry.sr_start); + seq_printf(s, "| 0x%-11x |\n", sr_dbg_entry.sr_start + + sr_dbg_entry.sr_length - 1); + } + } + } + + return 0; +} +DEFINE_SHOW_ATTRIBUTE(stm32_rifsc_conf_dump); + +static int stm32_rifsc_register_debugfs(struct stm32_firewall_controller *= rifsc_controller, + u32 nb_risup, u32 nb_rimu, u32 nb_risal) +{ + struct rifsc_dbg_private *rifsc_priv; + struct dentry *root =3D NULL; + + rifsc_priv =3D devm_kzalloc(rifsc_controller->dev, sizeof(*rifsc_priv), G= FP_KERNEL); + if (!rifsc_priv) + return -ENOMEM; + + rifsc_priv->mmio =3D rifsc_controller->mmio; + rifsc_priv->nb_risup =3D nb_risup; + rifsc_priv->nb_rimu =3D nb_rimu; + rifsc_priv->nb_risal =3D nb_risal; + rifsc_priv->res_names =3D of_device_get_match_data(rifsc_controller->dev); + + root =3D debugfs_lookup("stm32_firewall", NULL); + if (!root) + root =3D debugfs_create_dir("stm32_firewall", NULL); + + if (IS_ERR(root)) + return PTR_ERR(root); + + debugfs_create_file("rifsc", 0444, root, rifsc_priv, &stm32_rifsc_conf_du= mp_fops); + + return 0; +} +#endif /* defined(CONFIG_DEBUG_FS) */ + static bool stm32_rifsc_is_semaphore_available(void __iomem *addr) { return !(readl(addr) & SEMCR_MUTEX); @@ -207,9 +769,19 @@ static int stm32_rifsc_probe(struct platform_device *p= dev) rifsc_controller->release_access =3D stm32_rifsc_release_access; =20 /* Get number of RIFSC entries*/ - nb_risup =3D readl(rifsc_controller->mmio + RIFSC_RISC_HWCFGR2) & HWCFGR2= _CONF1_MASK; - nb_rimu =3D readl(rifsc_controller->mmio + RIFSC_RISC_HWCFGR2) & HWCFGR2_= CONF2_MASK; - nb_risal =3D readl(rifsc_controller->mmio + RIFSC_RISC_HWCFGR2) & HWCFGR2= _CONF3_MASK; + nb_risup =3D FIELD_GET(HWCFGR2_CONF1_MASK, + readl(rifsc_controller->mmio + RIFSC_RISC_HWCFGR2)); + nb_rimu =3D FIELD_GET(HWCFGR2_CONF2_MASK, + readl(rifsc_controller->mmio + RIFSC_RISC_HWCFGR2)); + nb_risal =3D FIELD_GET(HWCFGR2_CONF3_MASK, + readl(rifsc_controller->mmio + RIFSC_RISC_HWCFGR2)); + /* + * On STM32MP21, RIFSC_RISC_HWCFGR2 shows an incorrect number of RISAL (N= UM_RISAL is 3 + * instead of 0). A software workaround is implemented using the st,mem-m= ap property in the + * device tree. This property is absent or left empty if there is no RISA= L. + */ + if (of_device_is_compatible(np, "st,stm32mp21-rifsc")) + nb_risal =3D 0; rifsc_controller->max_entries =3D nb_risup + nb_rimu + nb_risal; =20 platform_set_drvdata(pdev, rifsc_controller); @@ -228,12 +800,29 @@ static int stm32_rifsc_probe(struct platform_device *= pdev) return rc; } =20 +#if defined(CONFIG_DEBUG_FS) + rc =3D stm32_rifsc_register_debugfs(rifsc_controller, nb_risup, nb_rimu, = nb_risal); + if (rc) + return dev_err_probe(rifsc_controller->dev, rc, "Failed creating debugfs= entry\n"); +#endif + /* Populate all allowed nodes */ return of_platform_populate(np, NULL, NULL, &pdev->dev); } =20 static const struct of_device_id stm32_rifsc_of_match[] =3D { - { .compatible =3D "st,stm32mp25-rifsc" }, + { + .compatible =3D "st,stm32mp25-rifsc", +#if defined(CONFIG_DEBUG_FS) + .data =3D &rifsc_mp25_res_names, +#endif + }, + { + .compatible =3D "st,stm32mp21-rifsc", +#if defined(CONFIG_DEBUG_FS) + .data =3D &rifsc_mp21_res_names, +#endif + }, {} }; MODULE_DEVICE_TABLE(of, stm32_rifsc_of_match); --=20 2.43.0