From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6A159D2D108 for ; Tue, 13 Jan 2026 14:13:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=EpPYFuBpeHzrlOUi6OsVjYU9ydxR9fDDFonQuw5LFlU=; b=tLVj5HU/Qvc3GpoWNUvhUkXKsJ DX8ViqqmjMc9Tu5zRPqjCWafJkJfoEGLH7kxBbpC5O81qTD1nhLvu/ohCdNXh/qkZC8awEDR3xKsw sj3awFspegsXkkM9GGm9jyJNB70NZicNXtc1imuloAXUoesqMLUSfNVork4Gmm3o6bnH9xqnyIoe8 xtedsHWf2I9z5UWxDt4zMMDsYvvm36p561okbK1trYlAMOXE3uuC0SxViuqtsmUJu28CkoDkfSoGa Ms0Ewuz/i0isQjUcb6L44+GAww7BqG5AwkmXJ6rMRQ2zxaNbTyDtFINn+uqjbohyaE9yQ3rdq7pgn 5m1DIJvQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vff9N-00000007Cxn-0Oek; Tue, 13 Jan 2026 14:13:37 +0000 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vff9J-00000007CxA-0hIu for linux-arm-kernel@lists.infradead.org; Tue, 13 Jan 2026 14:13:35 +0000 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-477a2ab455fso69746125e9.3 for ; Tue, 13 Jan 2026 06:13:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1768313610; x=1768918410; darn=lists.infradead.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=EpPYFuBpeHzrlOUi6OsVjYU9ydxR9fDDFonQuw5LFlU=; b=wlbk7xgbyEsBbD2k5BFLw+gSNDqRpMWJ6liL2lbnPwdCj4uMDIrDz3lNd3wpyikRf/ B/5my/CgOuQo+6OSjl+Jcz/ooEM8kNO9QONlPldXwrGq27cs7GSvLlT178rG6njmjG48 K9flyuQmbjWQculxhQ9b02CKEihwWWP6SdD3fnk2GqUPAiykr0Y7j3jNcIv3PXs3k+Tt 9vE1ZNYwrBbz4I/YW9J5PxPLyLIGn6Bei+IhjY9zkirLHHHve2yKEdbUJ/olSGxY25ht V91pLhjq4vUWvbuwj3YMuAEDxfY+pYFDZIXP/Cq7Xljt4daaYFLdB0ORS9XKsAJrMqDJ wbQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768313610; x=1768918410; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=EpPYFuBpeHzrlOUi6OsVjYU9ydxR9fDDFonQuw5LFlU=; b=SLwtCt3FT3FzeSlO19aiNlNKRwCTsjANEgz72lRVAskduCU3505lTj0bIbRF30FmfD ZJtLXI6jZ9m4X4TonfOxQak4hG/7I2xvv3qOeS2CRwSEdccg17gPDGTJSkVAPPGvoU5l AC3Q0Nwl25qSVV+LRtNMv6Gv/uy7petCHt90glzA4jDQoMqz9PYBTQQ31WunSKS6reE6 ymuoaxSnihXzIIXS/Z5ZHePf2rs0RG+MpMVMUiehH2/nJOkr5pFcWyMB6OVCs41zrJza qNHj7GGbUE9KRqml7E/3UEojkuRaQNrQLIwxFnJLJmdhk6tsaelwUtZwYqUXFVCXlHQ8 QQkA== X-Forwarded-Encrypted: i=1; AJvYcCWLakisbLlMgE/GWUS4/cxGx7vXxISK518niFDaRi8JRsch2YapGTkCuDJtDpOdwrho2HEAlBayeBktmMLdKpo5@lists.infradead.org X-Gm-Message-State: AOJu0Yygr7kdjY6i4ds6B8HS+38cIpVrAIvbuGmpr82hQmee+1dWRd6/ W8gkxdlh4UHVlq5F32LFeZxQBJzXUVK6zc8L6l+Vd7XwAxcKzGwHVwZAsBv5EO4100I= X-Gm-Gg: AY/fxX7uTaJlu3yYW5eTg1TE26ABBRY6VOI7Wno4WfXfHP5mNcWALseQ6Uhi3TL6z55 sKXFUOcACm8tLftjXn1BY1DVKWZc6LDEpjuOG/BkhouipF3o0Kr90pOxMT41zXTOs8MyjZwiRYv qLJBGAqr2MBlP3Veb0rePRAuF+2HZHsfzjh2AS5DR8Ovhd2UWvKvlq/3vMr5dK9aRuux/C6Aqix TAwcHR0aAKqchlRSQ8LRyDcbwwUN9vuy+gdLl0W3N+AyEDGEn+GcKDpE10HcOGKK9G/sSMqkxCx URhpmyHH7dynvBYqM2d+y1DNa4yhf8fsoCXY8wC4vFzWgfMeXuSs8VrC5Rob6pC5gwzMUBbT/KW +z7ngZ9EUmOqM9o8Q5kRdtugtG9yxIo8mq7MXIiRGaNIOxvbyOmc/rdXDvB9uZcON0JgrG5AeL8 aT36siR9ew1En175KxkSxszttxiB8= X-Google-Smtp-Source: AGHT+IESteNDhCsp9djoyMeUvPvQ33cMYgxEEj70wmWesi8MDh/SKjav/Vxq6pmgAEpoaSXmrBuSJw== X-Received: by 2002:a05:600c:1392:b0:46e:37fe:f0e6 with SMTP id 5b1f17b1804b1-47d84b3b724mr277918305e9.30.1768313610033; Tue, 13 Jan 2026 06:13:30 -0800 (PST) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47ee0b45b8fsm1590895e9.4.2026.01.13.06.13.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jan 2026 06:13:29 -0800 (PST) Date: Tue, 13 Jan 2026 17:13:23 +0300 From: Dan Carpenter To: Chester Lin , Frank Li Cc: Alexandre Torgue , Andrew Lunn , Conor Dooley , "David S. Miller" , devicetree@vger.kernel.org, Eric Dumazet , Fabio Estevam , Ghennadi Procopciuc , imx@lists.linux.dev, Jakub Kicinski , Jan Petrous , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Matthias Brugger , Maxime Coquelin , netdev@vger.kernel.org, NXP S32 Linux Team , Paolo Abeni , Pengutronix Kernel Team , Rob Herring , Sascha Hauer , Shawn Guo , linaro-s32@linaro.org Subject: [PATCH v3 0/3] s32g: Use a syscon for GPR Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260113_061333_246900_B8391022 X-CRM114-Status: GOOD ( 19.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Frank has pushed back on this a bit. I think he objects to how stmmac/dwmac-s32.c controlls the PHY by writing to a register instead of through a driver. Creating a syscon driver will make writing to other drivers even easier. In the end, we're going to need to write to register eventually whether it's directly or through an abstraction layer. I feel like this is a good change and when we start dealing with SCMI then it's an essential change. I have fixed Krzysztof's complaint about the poor documentation in the nxp,s32-dwmac.yaml file. The s32g devices have a GPR register region which holds a number of miscellaneous registers. Currently only the stmmac/dwmac-s32.c uses anything from there and we just add a line to the device tree to access that GMAC_0_CTRL_STS register: reg = <0x4033c000 0x2000>, /* gmac IP */ <0x4007c004 0x4>; /* GMAC_0_CTRL_STS */ I have included the whole list of registers below. We still have to maintain backwards compatibility to this format, of course, but it would be better to access these registers through a syscon. Putting all the registers together is more organized and shows how the hardware actually is implemented. Secondly, in some versions of this chipset those registers can only be accessed via SCMI. It's relatively straight forward to handle this by writing a syscon driver and registering it with of_syscon_register_regmap() but it's complicated to deal with if the registers aren't grouped together. Changed since v2: * Improve the documentation in .../bindings/net/nxp,s32-dwmac.yaml * "[PATCH v2 2/4] dt-bindings: mfd: syscon: Document the GPR syscon for the NXP S32 SoCs" was applied so drop it. Changed since v1: * Add imx@lists.linux.dev to the CC list. * Fix forward porting bug. s/PHY_INTF_SEL_RGMII/S32_PHY_INTF_SEL_RGMII/ * Use the correct SoC names nxp,s32g2-gpr and nxp,s32g3-gpr instead of nxp,s32g-gpr which is the SoC family. * Fix the phandle name by adding the vendor prefix * Fix the documentation for the phandle * Remove #address-cells and #size-cells from the syscon block Here is the whole list of registers in the GPR region Starting from 0x4007C000 0 Software-Triggered Faults (SW_NCF) 4 GMAC Control (GMAC_0_CTRL_STS) 28 CMU Status 1 (CMU_STATUS_REG1) 2C CMUs Status 2 (CMU_STATUS_REG2) 30 FCCU EOUT Override Clear (FCCU_EOUT_OVERRIDE_CLEAR_REG) 38 SRC POR Control (SRC_POR_CTRL_REG) 54 GPR21 (GPR21) 5C GPR23 (GPR23) 60 GPR24 Register (GPR24) CC Debug Control (DEBUG_CONTROL) F0 Timestamp Control (TIMESTAMP_CONTROL_REGISTER) F4 FlexRay OS Tick Input Select (FLEXRAY_OS_TICK_INPUT_SELECT_REG) FC GPR63 Register (GPR63) Starting from 0x4007CA00 0 Coherency Enable for PFE Ports (PFE_COH_EN) 4 PFE EMAC Interface Mode (PFE_EMACX_INTF_SEL) 20 PFE EMACX Power Control (PFE_PWR_CTRL) 28 Error Injection on Cortex-M7 AHB and AXI Pipe (CM7_TCM_AHB_SLICE) 2C Error Injection AHBP Gasket Cortex-M7 (ERROR_INJECTION_AHBP_GASKET_CM7) 40 LLCE Subsystem Status (LLCE_STAT) 44 LLCE Power Control (LLCE_CTRL) 48 DDR Urgent Control (DDR_URGENT_CTRL) 4C FTM Global Load Control (FLXTIM_CTRL) 50 FTM LDOK Status (FLXTIM_STAT) 54 Top CMU Status (CMU_STAT) 58 Accelerator NoC No Pending Trans Status (NOC_NOPEND_TRANS) 90 SerDes RD/WD Toggle Control (PCIE_TOGGLE) 94 SerDes Toggle Done Status (PCIE_TOGGLEDONE_STAT) E0 Generic Control 0 (GENCTRL0) E4 Generic Control 1 (GENCTRL1) F0 Generic Status 0 (GENSTAT0) FC Cortex-M7 AXI Parity Error and AHBP Gasket Error Alarm (CM7_AXI_AHBP_GASKET_ERROR_ALARM) Starting from 4007C800 4 GPR01 Register (GPR01) 30 GPR12 Register (GPR12) 58 GPR22 Register (GPR22) 70 GPR28 Register (GPR28) 74 GPR29 Register (GPR29) Starting from 4007CB00 4 WKUP Pad Pullup/Pulldown Select (WKUP_PUS) Dan Carpenter (3): net: stmmac: s32: use a syscon for S32_PHY_INTF_SEL_RGMII dt-bindings: net: nxp,s32-dwmac: Use the GPR syscon dts: s32g: Add GPR syscon region .../bindings/net/nxp,s32-dwmac.yaml | 12 ++++++++++ arch/arm64/boot/dts/freescale/s32g2.dtsi | 6 +++++ arch/arm64/boot/dts/freescale/s32g3.dtsi | 6 +++++ .../net/ethernet/stmicro/stmmac/dwmac-s32.c | 23 +++++++++++++++---- 4 files changed, 42 insertions(+), 5 deletions(-) -- 2.51.0