From nobody Tue Jun 16 17:59:31 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 EDC26423161 for ; Wed, 29 Apr 2026 19:14:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490051; cv=none; b=I4aqKyRQis8xc1fgciM8w+euHqXC+Qt7lc+gtb8JiJjJWe/LMHywICrJTWVRnw5TbPE16NqXu3UfQ1v8mUf/o2k1kSEiXugU7O/+cqt/JtW9u3+Fz7SfB3NQRM6YMh/e27WRzwMiZ8zSzOoDns1ODN7oj5V5Np2hc5fcRe1sBnY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490051; c=relaxed/simple; bh=+GtKlk1K7hr83CoqJ8aTYEzO+TXa3ITFJyZ/GejNafo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=p6nTAKocZhcUxwXxHBBGMn6NFTYFAsc2PpSaCJgoKAuSayuJNb7UPZOUVLIh6LIEwiFKBPtg12Y4AZf1e6JvxNevzlHrDcunYu5vZUbC8osBg/RICPsN7Rv/Kj/BM1BMjDyyBuRkCOfu34UlcgFg3B5lVYNgMenBfa4SCXj6dog= 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=AQ9ZorUd; arc=none smtp.client-ip=209.85.128.47 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="AQ9ZorUd" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-488a14c31eeso712095e9.0 for ; Wed, 29 Apr 2026 12:14:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777490048; x=1778094848; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=9lu2q2P2n5BrSSlxeogaqEBxGB98cpNlogETzW0AQwM=; b=AQ9ZorUdmsxdZhAxV41h6kIsT74DQAUeUzDyDlMuFlnYtuVlTpcCv9lExEOh3V6plB J/mn+5hndex/MAIBdhoPsATtM+yvrYa7GF+RRscLZvIoZB3yi+BOU/EZ8FQ1Nx1HwScB yUXXtV3m5OewVKpIgCbFI8WTvudU5tcQnTM5qMAXGFC8xYU4xC6RbTi78QrjZRrEtscM fFzpZLd13F4u/dt2nRUx/Z22QXiCyoAGZMiIDSke25tPzvNaayXIyMIa791fN+MEFCuW yZNlvhpSFC7Cu0b4FKf+saW5GbqDiHwrnqe2uCKPlYzlJ9enCdC2H7oUhImrgF6N/vX0 40TA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777490048; x=1778094848; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9lu2q2P2n5BrSSlxeogaqEBxGB98cpNlogETzW0AQwM=; b=FUwOg1gtEkJa6LlzD3sBgRM97KQD8TQkYOKv9LAQ3QLTZVj3Vq8crASMPTNe7CBXrr fLO3NUV/FkS8PqikLmyJqEb4ICUg/eeQwDiAbM2i2UZdY3xDNStiuWwGVMXKcwae76NH kiIwAdbIZDqz9j52YSuK5fUeNPelTCWl7mITLSPJAlweRfi4bXLjZstCthF/NtzEnds9 K4/oOfedz39IS2yUh+QARjGNRNuLi+9nLhJrFRrWoN8iiN7dcGF15ThVp6x+OuufUnQ1 OkPCi+7e6xMlAG0MhGIDdRF94noMHlHKQMj+dlSyLaKR5rKXJxbalLQDeBXpAXeMe87y yBiA== X-Forwarded-Encrypted: i=1; AFNElJ+POWAacjiyZoqBYrSsqNfAF+iYQKinKiuw2mQzj41bZd987YsdiPr4+EwhD6JIm/eKKio767XmB+87E4M=@vger.kernel.org X-Gm-Message-State: AOJu0YxVElyn8N4HPuVE6MU17xWTHMjgzLzhvRQDX9h+F1wPJ0KmvN7A LgrJNLfWnNJ18w5hW53ktIO/R5szMfcZpjqZA30oWndDV28ySRvDhaaGQtbZY9Jf/Wg= X-Gm-Gg: AeBDiet1c5RkvbsdV/XjJszt1jDbsZSOjanOSdcjSJrpL7Jx1soRZf8JFThfoKpL2Qd Bz162+sAVcZGJaolKX1xtFQxSaaTe+ieUsm2AD8sNBPnh5x0lWbnNSrbg3jWBveef5ez3Rav9C4 V/hV2orCqXpkru09XWS2/4Q7kkQLnTBmtfKVTq1WhB1DDS9tW2T/ygjdn4Tze5pcGNLhdkkaP6B GREPvJr9YfrUUh+8S27+qQXHr6EgIqiN9L8epyDofbuHLZlxkW6hwfqP4kPg8AVSnVyPX2dXpOQ GlwIznlGg0467M77pyrSe2Zmoa3SwRQPYqJ6oEEQMpawaduh2846xyO8a0q51kOdeIOYe0oTpWi xSOomUtGbgCyzHGcb3h5Ba2O/CPkrJnYY26YRIE3tQ5qTuEec6zZu+ds3+pynpskg1FzgrROU0X QV29TW/Vry/nar5aFB42xkrFZ9dc1EPCf9TkIL0wxaPC4= X-Received: by 2002:a05:600c:1f0f:b0:48a:563c:c8d6 with SMTP id 5b1f17b1804b1-48a77ae9a99mr137026655e9.7.1777490048153; Wed, 29 Apr 2026 12:14:08 -0700 (PDT) Received: from [192.168.0.2] ([197.250.51.50]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c316d7esm23315005e9.24.2026.04.29.12.14.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 12:14:07 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Wed, 29 Apr 2026 22:13:12 +0300 Subject: [PATCH v7 1/6] dt-bindings: arm: zte: Add D-Link DWR932M board based on zx297520v3 SoC 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: <20260429-send-v7-1-b432e00d2db8@gmail.com> References: <20260429-send-v7-0-b432e00d2db8@gmail.com> In-Reply-To: <20260429-send-v7-0-b432e00d2db8@gmail.com> To: Jonathan Corbet , Shuah Khan , Russell King , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Krzysztof Kozlowski , Alexandre Belloni , Linus Walleij , Drew Fustini , Greg Kroah-Hartman , Jiri Slaby Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, soc@lists.linux.dev, linux-serial@vger.kernel.org, =?utf-8?q?Stefan_D=C3=B6singer?= , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2213; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=+GtKlk1K7hr83CoqJ8aTYEzO+TXa3ITFJyZ/GejNafo=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBp8lh1ccK4jzlaeTCnzQ+mj6nz3CojfOm46bCo2 SlLMeZ1902JAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCafJYdRsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiKr4xAAr6MvXLGyj+fH1KeLch7jR81J65FCi6C l0TmjwzEsMksZfwqtNijUjfJWJdg1Kry38lnOM29zkWAZjojfpLli9SCljOJw0H1V+Ph24fr5XL SDbh/ODZ19cxLCbkZ5k2MUeLQXbh6z/X7ZTULTAp4GOhKS+YNWmBUjJAM+griHEM81EK3D/KL7D +tRUF0fZeZMeZthhFRJHA5ZLUA5TCp+QIlkf9rAWyBjb+8vu4s4fQWD4Hb97MDgdcE0q1IPA369 058ElZn/gYW6rsHUfTSJAxg5IuVQEV+qkKMSrJe3WaqEnovqsNOGWnKarDfmwgupTVpC2QYOhJC m3GYVfj6YklJYH1cCQqaOgsOHHTxWRk84Moi+3+5z29CXdut8UkKVHcGBUAL8qibx/LCz9YDhzQ mLxHuD050T1+0k3FOsDJ4lTmXPs1STuwpqS7exviIjsAG/U/wC2Jyi8YImbQPlraF4hUzL7Pcwu Pu5lkMEyUo8ZHrtBff8Dh4z0p4ihnigz4bCkK+ZCTNyi5Am5dcvfG2lCY+jRDeWcLNTnM67dvUB 5tMErwPDEdKFUF+JGNmEPMmL/lT6jcNfJ5qxnZRTT+0eFpzq2ZcNKy5sGGtQtyxYV7RBIgERW6t J2p6MB2yb8w/q4x9Y8aE05PvDdYzm2keQdwVFd9zwzvUss5r8dL4= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 This adds a new binding file for ZTE, containing their zx297520v3 SoC and one board (D-Link DWR-932M) based on it. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Stefan D=C3=B6singer --- Changelog: v6: Removed extra boards, I'll add them when submitting their individual DTS files. Rephrase the subject to add "zte" and remove the redundant use of "binding". Moved the devicetree bindings patch ahead of the implementation patches. Moved the MAINTAINERS section from "ZX29" to "ARM/ZTE". --- Documentation/devicetree/bindings/arm/zte.yaml | 26 ++++++++++++++++++++++= ++++ MAINTAINERS | 4 ++++ 2 files changed, 30 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/zte.yaml b/Documentation= /devicetree/bindings/arm/zte.yaml new file mode 100644 index 000000000000..f028d2cec7ab --- /dev/null +++ b/Documentation/devicetree/bindings/arm/zte.yaml @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/zte.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ZTE zx platforms + +maintainers: + - Stefan D=C3=B6singer + +description: | + ARM platforms using SoCs designed by ZTE. Currently this supports devices + based on the zx297520v3 SoC which is found in LTE routers. + +properties: + $nodename: + const: "/" + compatible: + oneOf: + - items: + - enum: + - dlink,dwr932m + - const: zte,zx297520v3 + +additionalProperties: true diff --git a/MAINTAINERS b/MAINTAINERS index d1cc0e12fe1f..b768b9da37a4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3772,6 +3772,10 @@ F: drivers/video/fbdev/vt8500lcdfb.* F: drivers/video/fbdev/wm8505fb* F: drivers/video/fbdev/wmt_ge_rops.* =20 +ARM/ZTE ZX29 SOC SUPPORT +M: Stefan D=C3=B6singer +F: Documentation/devicetree/bindings/arm/zte.yaml + ARM/ZYNQ ARCHITECTURE M: Michal Simek L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) --=20 2.53.0 From nobody Tue Jun 16 17:59:31 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 4DBF2421EFF for ; Wed, 29 Apr 2026 19:14:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490059; cv=none; b=qZhtuwiRSS/ynzTk9/cH+5ovbhPa80raZrLpthBHjLeYrzXLjvT2N2b25qeBMy4VHiTCBnQcbLe2p1mWzKXVjZoeyJumHlL4Zlnh9ISy8P7lgabJdEgY9q1XL9FMW6YPcBWLMQ4IboNdJ0gKqPY5+ilf3TR9NR7q66k6xUvzLQI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490059; c=relaxed/simple; bh=nxN5/0rRZY8FTzO+2xY/r21EeVORf1nKhdKvcv+Ajmw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=e6dva4foZJlit8LJvNjOPC3l2u92bK/aOYiOLLR4CPTsS4InDfmPP4bHvtD88yFf7NnfaGX7cn6gAhsaeMN5xIkxt7Mxf2wGq1XuFXC5Vz4BMMgPHxVSK7tH0cINPKmuv1FtDEqfpYjZ7nBlBdrUbVA1JHkirxHyun6G88BcBVI= 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=q+3yAU/e; arc=none smtp.client-ip=209.85.128.47 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="q+3yAU/e" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4891f625344so1559055e9.0 for ; Wed, 29 Apr 2026 12:14:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777490056; x=1778094856; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZNlGbXijzAU9cD2KSe6Fd/Wzn/728CxuTr4l+WCmYKU=; b=q+3yAU/ePuTtSeabu8w117mXYAtfntm9ydWngc5r5Y7k2CCVt1cONmTSagki2AOvez kOBzTYnpAxsbrA2SZZKxSY8rCWA+vsgOMLvGdANGVStGAEOPBiAZ2vq/8+ysrJl5r0ej ZNmo0YhGPK+eCLWUi11snfb9owTr7FGRH2a4BRZEyq7VT4d4R2MNPpzfiNggLw3DLj6Y SQEAAPZfV92r/uLn38n4xDbz1y11igQ1fmReI0VFd4v0rebawJ0FyO8TIMGI0q+uOd/G NNStBsrakINACX7lqlj0JGXE3HloTmn1h8+0BfdOUiJTUoQbv3mS70ixCL6g3aiYRm3P EYUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777490056; x=1778094856; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZNlGbXijzAU9cD2KSe6Fd/Wzn/728CxuTr4l+WCmYKU=; b=srZge5SD63CDLBVufRn4DXuxcVtPlCFscbRAaomFJ/9ZOBGT4H3hjzoQfRcjs209NV x6x8qySlAMMRz9ISTROPUAIrBULHJUmU/gpWoXMH6+aFMx9Uta6Bfe4gRfQTbY4N7ZP8 a0+yGPY+e5oygxSedtgnZLxze1XVGyr3iuXM6kP77cJhaGXSGpQcNGsg4lHS2XoqYdt8 wOcv9YTdVDCwJmkB/3nx7YMvs1Sl9hSg1rpaBV7YDedBicyPqF601bQE/wHs3/+xUXOJ /GPMKI/1MqfCZxZbWzgk99dEGUM9fKbxVBP3C38IBbrfvr/zBS3Dl9tRnyLl+smUIj5d SKTA== X-Forwarded-Encrypted: i=1; AFNElJ+Ihoy7BfjetgMphjUTHycG3dQTI5RGw3ZZ5KpMpVBfKsdMmUA2gvt9TLY4C1AEnGu352IPtcK6PW7MGD8=@vger.kernel.org X-Gm-Message-State: AOJu0YyvjFm4lT0ZKiKJe57mXlM0v62VoB6V7vlqUjOaxqAXIpetAxFK tovBp1wpVeruR/4q0eju77uwcwJTQmk9XR+wz2qaTeKn4bFJ2bYIhcUa1e/Spt6jIcA= X-Gm-Gg: AeBDiesH1iWY6lkAJf0BtLbBQ0R5berAWF1Q8tCOMVfazHJGgL1ipq3R0yt0RoVfnvZ sD/TYX4AgENnXZ524kyqjTSm/yrIdCs/8D50SXmZAZnO8R4ClmOgZsbeYum38sOFssQRciAPbbx 5LfOQ2rvxIV6uJYHSu0yrIsQFjtw7lf1GDmD98P3UMX+LH86RAjzzGwvXKQhUbjzHJHJk+0QPXR M8FxvFNxYx8pQvQGNrNUM1CyfgPGYDZf8KE1Ivpvuk+Mpve8bUeAr6E74jxxILqV8U3fL9qNca6 3wAPE4faBPolVl7Gf4Y5C7xl4WI/bOmNWvRcwfLKUi+xJmbKLk/qNpazcBOzoWytVABd4emB7om YwZBPFEUUme1s5dDspMhVc6EVqhDb87shFo98NHbMEjtmTAnyKocK7hkMd16HeUd4E/LupWx5Nd 44d0wBGaiwg3dmJ91YsRE5EZiguGeW7Sr1+HWP+/vU7SfZPbjn47l8xA== X-Received: by 2002:a05:600c:8b82:b0:486:faa8:9e4 with SMTP id 5b1f17b1804b1-48a7bfc4cd5mr69661385e9.12.1777490055429; Wed, 29 Apr 2026 12:14:15 -0700 (PDT) Received: from [192.168.0.2] ([197.250.51.50]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c316d7esm23315005e9.24.2026.04.29.12.14.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 12:14:13 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Wed, 29 Apr 2026 22:13:13 +0300 Subject: [PATCH v7 2/6] ARM: zte: Add zx297520v3 platform support 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: <20260429-send-v7-2-b432e00d2db8@gmail.com> References: <20260429-send-v7-0-b432e00d2db8@gmail.com> In-Reply-To: <20260429-send-v7-0-b432e00d2db8@gmail.com> To: Jonathan Corbet , Shuah Khan , Russell King , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Krzysztof Kozlowski , Alexandre Belloni , Linus Walleij , Drew Fustini , Greg Kroah-Hartman , Jiri Slaby Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, soc@lists.linux.dev, linux-serial@vger.kernel.org, =?utf-8?q?Stefan_D=C3=B6singer?= , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=10975; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=nxN5/0rRZY8FTzO+2xY/r21EeVORf1nKhdKvcv+Ajmw=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBp8lh1IKa4jf6wIAJZHg1AaWvc9LC0BXrcb5VWX 136Rkn+HvOJAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCafJYdRsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiJsIQ/+MGT7XKpoFBHCyI3aCwVdH5MyHeps40c +wPZCIH//b5tJUbE8XBEyfriQfF/+Gn77nE7/neJEDU6m2dTVyJpb4wQvB/XWn0jx76OXGCk8YF pXgkj7s6Cuw96EA3/R9HZO0nnWo3xYC3cQ6L6Zty+d+li/KOSHmSeez2oLxDVahnCPIFs/fv9vA TPRIFhfgpIz7Z8fiE5D0P/qa/vibKZ1Iyqv+GhRYOhnYeJU97GEp5kff1ACXMJeDlR2jKYnrje6 cS5kgffQs5thq+/7OagCXsrryVyI0g6PM8T/momLxkQYGcpKnrj7bgBeIvxxf4DvFVUf+VUQPY0 G5xMQiKA1VrYb3WHFJpAIFM0g+xe9j9B6nWyMJ9rNlnd41PVIzsKxCquNBAvlqqKsnMZHim8N6q hjYV5wQYzYdGwopRooIKliQfdu3bgSRxPMrz4EZPvpLz1WaEX90aiUr6Ud+Y2IImDB52zo4iAVy iQjBGaptxZdIm2twffMwLhHs2y7nLqHWupw1ZNY46RhHDYKEzUSp6OuEUzdaxYsXwkF8wTBs3Vv kC11tHhE1rNK6+pYSiQR/guVVUYen7ds6nt2HnbC510753dfjaafSTiOGKDyx3dFp2udvhSRh3a ciyjhDky/SCplmd3uXF4Jv/3T8Texa78dtgizBog3tLJYXVXNTm8= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 This SoC is used in low end LTE-to-WiFi routers, for example some D-Link DWR 932 revisions, ZTE K10, ZLT S10 4G, but also models that are branded and sold by ISPs themselves. They are widespread in Africa, China, Russia and Eastern Europe. This SoC is a relative of the zx296702 and zx296718 that had some upstream support until commit 89d4f98ae90d ("ARM: remove zte zx platform"). My eventual goal is to enable OpenWRT to run on these devices. Reviewed-by: Linus Walleij Reviewed-by: Krzysztof Kozlowski Signed-off-by: Stefan D=C3=B6singer --- Documentation/arch/arm/zte/zx297520v3.rst | 158 ++++++++++++++++++++++++++= ++++ MAINTAINERS | 1 + arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/mach-zte/Kconfig | 26 +++++ arch/arm/mach-zte/Makefile | 2 + arch/arm/mach-zte/zx297520v3.c | 19 ++++ 7 files changed, 209 insertions(+) diff --git a/Documentation/arch/arm/zte/zx297520v3.rst b/Documentation/arch= /arm/zte/zx297520v3.rst new file mode 100644 index 000000000000..6621ea72769f --- /dev/null +++ b/Documentation/arch/arm/zte/zx297520v3.rst @@ -0,0 +1,158 @@ +.. SPDX-License-Identifier: GPL-2.0-only + +=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 +Booting Linux on ZTE zx297520v3 SoCs +=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 + +..........................................................................= ..... + +Author: Stefan D=C3=B6singer + +Date : 27 Jan 2026 + +1. Hardware description +--------------------------- +Zx297520v3 SoCs use a 64 bit capable Cortex-A53 CPU and GICv3, although th= ey +run in arm32 mode only. The CPU has support EL3, but no hypervisor (EL2) a= nd +it seems to lack VFP and NEON. + +The SoC is used in a number of cheap LTE to WiFi routers, both battery pow= ered +MiFis and stationary CPEs. In addition to the CPU these devices usually ha= ve +64 MB Ram (although some is shared with the LTE chip), 128 MB NAND flash, = an +SDIO connected RTL8192-type Wifi chip limited to 2.4 ghz operation, USB 2, +and buttons. Devices with as low as 32 MB or as high as 128 MB ram exist, = as +do devices with 8 or 16 MB of NOR flash. + +Some devices, especially the stationary ones, have 100 mbit Ethernet and an +Ethernet switch. + +Usually the devices have LEDs for status indication, although some have SP= I or +I2C connected displays + +Some have an SD card slot. If it exists, it is a better choice for the root +file system because it easily outperforms the built-in NAND. + +The LTE interface runs on a separate DSP called ZSP880. It is probably der= ived +from LSI ZSPs and has an undocumented instruction set. The ZSP communicates +with the main CPU via SRAM and DRAM and a mailbox hardware that can genera= te +IRQs on either ends. + +There is also a Cortex M0 CPU, which is responsible for early HW initializ= ation +and starting the Cortex A53 CPU. It does not have any essential purpose on= ce +U-Boot is started. A SRAM-Based handover protocol exists to run custom cod= e on +this CPU. + +2. Booting via USB +--------------------------- + +The Boot ROM has support for booting custom code via USB. This mode can be +entered by connecting a Boot PIN to GND or by modifying the third byte on = NAND +(set it to anything other than 0x5A aka 'Z'). A free software tool to start +custom U-Boot and kernels can be found here: + +https://github.com/zx297520v3-mainline/zx297520v3-loader + +If USB download mode is entered but no boot commands are sent through USB,= the +device will proceed to boot normally after a few seconds. It is therefore +possible to enable USB boot permanently and still leave the default boot f= iles +in place. + +3. Building for built-in U-Boot +--------------------------- +The devices come with an ancient U-Boot that loads legacy uImages from NAN= D and +boots them without a chance for the user to interrupt. The images are stor= ed in +files ap_cpuap.bin and ap_recovery.bin on a jffs2 partition named imagefs, +usually mtd4. A file named "fotaflag" switches between the two modes. + +In addition to the uImage header, those files have a 384 byte signature he= ader, +which is used for authenticating the images on some devices. Most devices = have +this authentication disabled and it is enough to pad the uImage files with= 384 +zero bytes. + +Builtin U-Boot also poorly sets up the CPU. Read the next section for deta= ils +on this. It has no support for loading DTBs, so CONFIG_ARM_APPENDED_DTB is +needed. + +So to build an image that boots from NAND the following steps are necessar= y: + +1) Patch the assembly code from section 3 into arch/arm/kernel/head.S. +2) make zx29_defconfig +3) make [-j x] +4) cat arch/arm/boot/zImage arch/arm/boot/dts/zte/[device].dtb > kernel+dtb +5) mkimage -A arm -O linux -T kernel -C none -a 0x20008000 -d kernel+dtb u= img +6) dd if=3D/dev/zero bs=3D1 count=3D384 of=3Dap_recovery.bin +7) cat uimg >> ap_recovery.bin +8) Place this file onto imagefs on the device. Delete ap_cpuap.bin if the +free space is not enough. +9) Create the file fotaflag: echo -n FOTA-RECOVERY > fotaflag + +For development, booting ap_recovery.bin is recommended because the normal= boot +mode arms the watchdog before starting the kernel. + +4. CPU and GIC Setup +--------------------------- + +Generally CPU and GICv3 need to be set up according to the requirements sp= elled +out in Documentation/arch/arm64/booting.rst. For zx297520v3 this means: + +1. GICD_CTLR.DS=3D1 to disable GIC security +2. Enable access to ICC_SRE +3. Disable trapping IRQs into monitor mode +4. Configure EL2 and below to run in insecure mode. +5. Configure timer PPIs to active-low. + +The kernel sources provided by ZTE do not boot either (interrupts do not w= ork +at all). They are incomplete in other aspects too, so it is assumed that t= here +is some workaround similar to the one described in this document somewhere= in +the binary blobs. + +The assembly code below is given as an example of how to achieve this: + +``` +#include +#include +#include + +@ This allows EL1 to handle ints hat are normally handled by EL2/3. +ldr r3, =3D0xf2000000 +ldr r4, =3D(GICD_CTLR_ARE_NS | GICD_CTLR_DS) +str r4, [r3] + +cps #MON_MODE + +@ Work in non-secure physical address space: SCR_EL3.NS =3D 1. At least th= e UART +@ seems to respond only to non-secure addresses. I have taken insipiration= from +@ Raspberry pi's armstub7.S here. +@ +@ ARM docs say modify this bit in monitor mode only... +mov r3, #0x131 @ non-secure, Make F, A bits in CPSR writeable + @ Allow hypervisor call. +mcr p15, 0, r3, c1, c1, 0 + +@ AP_PPI_MODE_REG: Configure timer PPIs (10, 11, 13, 14) to active-low. +ldr r3, =3D0xF22020a8 +ldr r4, =3D0x50 +str r4, [r3] +ldr r3, =3D0xF22020ac +ldr r4, =3D0x14 +str r4, [r3] + +@ Enable EL2 access to ICC_SRE (bit 3, ICC_SRE_EL3.Enable). Enable system = reg +@ access to GICv3 registers (bit 0, ICC_SRE_EL3.SRE) for EL1 and EL3. +mrc p15, 6, r3, c12, c12, 5 @ ICC_SRE_EL3 +orr r3, #0x9 @ FIXME: No defines for SRE_EL3 va= lues? +mcr p15, 6, r3, c12, c12, 5 +mrc p15, 0, r3, c12, c12, 5 @ ICC_SRE_EL1 +orr r3, #(ICC_SRE_EL1_SRE) +mcr p15, 0, r3, c12, c12, 5 + +@ Like ICC_SRE_EL3, enable EL1 access to ICC_SRE and system register access +@ for EL2. +mrc p15, 4, r3, c12, c9, 5 @ ICC_SRE_EL2 aka ICC_HSRE +orr r3, r3, #(ICC_SRE_EL2_ENABLE | ICC_SRE_EL2_SRE) +mcr p15, 4, r3, c12, c9, 5 +isb + +@ Back to SVC mode. TODO: Doesn't safe_svcmode_maskall do this for us anyw= ay? +cps #SVC_MODE +``` diff --git a/MAINTAINERS b/MAINTAINERS index b768b9da37a4..e707176c2114 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3775,6 +3775,7 @@ F: drivers/video/fbdev/wmt_ge_rops.* ARM/ZTE ZX29 SOC SUPPORT M: Stefan D=C3=B6singer F: Documentation/devicetree/bindings/arm/zte.yaml +F: arch/arm/mach-zte/ =20 ARM/ZYNQ ARCHITECTURE M: Michal Simek diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ec33376f8e2b..4217ed704e48 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -464,6 +464,8 @@ source "arch/arm/mach-versatile/Kconfig" =20 source "arch/arm/mach-vt8500/Kconfig" =20 +source "arch/arm/mach-zte/Kconfig" + source "arch/arm/mach-zynq/Kconfig" =20 # ARMv7-M architecture diff --git a/arch/arm/Makefile b/arch/arm/Makefile index b7de4b6b284c..573813ef5e77 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -223,6 +223,7 @@ machine-$(CONFIG_ARCH_SUNXI) +=3D sunxi machine-$(CONFIG_ARCH_TEGRA) +=3D tegra machine-$(CONFIG_ARCH_U8500) +=3D ux500 machine-$(CONFIG_ARCH_VT8500) +=3D vt8500 +machine-$(CONFIG_ARCH_ZTE) +=3D zte machine-$(CONFIG_ARCH_ZYNQ) +=3D zynq machine-$(CONFIG_PLAT_VERSATILE) +=3D versatile machine-$(CONFIG_PLAT_SPEAR) +=3D spear diff --git a/arch/arm/mach-zte/Kconfig b/arch/arm/mach-zte/Kconfig new file mode 100644 index 000000000000..4effbe3f8215 --- /dev/null +++ b/arch/arm/mach-zte/Kconfig @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: GPL-2.0-only +menuconfig ARCH_ZTE + bool "ZTE zx family" + depends on ARCH_MULTI_V7 + help + Support for ZTE zx-based family of processors. + +if ARCH_ZTE + +config SOC_ZX297520V3 + bool "zx297520v3 SoC" + default y if ARCH_ZTE + select ARM_GIC_V3 + select ARM_AMBA + select HAVE_ARM_ARCH_TIMER + select PM_GENERIC_DOMAINS if PM + help + Support for ZTE zx297520v3 SoC. It is a single core SoC used in cheap + LTE to WiFi routers. These devices can be identified by the occurrence + of the string "zx297520v3" in the boot output and /proc/cpuinfo of + their stock firmware. + + Please read Documentation/arch/arm/zte/zx297520v3.rst on how to boot + the kernel. + +endif diff --git a/arch/arm/mach-zte/Makefile b/arch/arm/mach-zte/Makefile new file mode 100644 index 000000000000..1bfe4fddd6af --- /dev/null +++ b/arch/arm/mach-zte/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +obj-$(CONFIG_SOC_ZX297520V3) +=3D zx297520v3.o diff --git a/arch/arm/mach-zte/zx297520v3.c b/arch/arm/mach-zte/zx297520v3.c new file mode 100644 index 000000000000..c11c7e836f91 --- /dev/null +++ b/arch/arm/mach-zte/zx297520v3.c @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2026 Stefan D=C3=B6singer + */ + +#include +#include + +#include +#include + +static const char *const zx297520v3_dt_compat[] __initconst =3D { + "zte,zx297520v3", + NULL, +}; + +DT_MACHINE_START(ZX, "ZTE zx297520v3 (Device Tree)") + .dt_compat =3D zx297520v3_dt_compat, +MACHINE_END --=20 2.53.0 From nobody Tue Jun 16 17:59:31 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 58469423A74 for ; Wed, 29 Apr 2026 19:14:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490065; cv=none; b=ceW2BHkEV/ZDJ7q8jrJepfcNk8Nlmuml7RT4s0yNMLLWl33T227SE4Qy5oGjlBQDF8mZ7BqbV8g7kAif02x/wwJ0DZjhK/PEhMxEZLfbWeLIvD6ZTchJoJhIIAX8ft8CftvEWSQynofCH3zsRQYJ/m6hB1/+qcRFMTNkEGypljk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490065; c=relaxed/simple; bh=M2o/Qr31tdSVgMGK7MGptHsdQ8CYwaC7nU5G71DmAdM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gyw/12LO46GVZPDusHWpt2C62m6JXkGjdFIgpiOwfi9zVEau5iuK0/Q0zc7YVKpu9Uqqda7kKW5y35m5xHKQ1CGTNz8xoZgirMnt0J5ZVe18FcRhGXnZy6LW0KLIfrIl8Xk4sGC9zAUKfCfVMMmMSAtlA+6uEhistQdgLKU7MXw= 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=A0Rtm46n; arc=none smtp.client-ip=209.85.128.51 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="A0Rtm46n" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-488a14c31eeso713415e9.0 for ; Wed, 29 Apr 2026 12:14:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777490062; x=1778094862; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=8a6WmnzhZriHz9vEWPuhbpYJDMw8zDZc78JguLRxNCc=; b=A0Rtm46ni4w/Ru5gDjXHtP1tn3O1nTf5+Kk9fA11Nv6zpFfI+OYuBE51MT+p72Vdm9 xGqo2J9Pxhd1KasKV6D42koZjj25O2a+0jmylgX/kgan14pdNB+M3BxEbXJDP6gg6AfP og5H2Pv1+25MXPYHrwKf/7fa1l56Z6BwW/vYoxZIGx7FuKZLhQzsH5Yt61mdrv9i4gAT OInD0Tlv22PxQl4DXmnzDqljn3bqdmUriuN7+QcvN80ma8dZeC+TArF5KJ2kjDxaYBsG /UXWOOMvSSb6G8TwK1zbCQcVHTQZ2rX2ojPe0aqOuUa/sL/cnCKFmVoEUVrR0BmMe0xL 7cqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777490062; x=1778094862; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=8a6WmnzhZriHz9vEWPuhbpYJDMw8zDZc78JguLRxNCc=; b=Xqwccq1//ezj0KtCLWubMxP6OhUx7AQQcNebVxMlaP+Kgnzvv2OyDqBkrHoIk5Rtss PD3yrNChG9udwd7onYByp0IjOYqVU4XgkQIl7f63KyOJg2rueGAKTqBn/2AUA4JiYXE3 FzPBs0x9vp1XqRdeZUfRpzYsn/0CT5M9kE/2V7vlc40/RzBnFaiP89q8cp4JhN8CNujI m7BMQfeWpzFZ4d/lew5qwZLv2ny86Dc7FswgymbzSAIUhk21HMUxwHhM4zCiVr875Pv+ twhsvDQKCCkIiDWyxChTBx6Y2/Drv+vSN6XLSm5YUqv+daYCRYm9EEFuWsudijm3RAQ1 aPeA== X-Forwarded-Encrypted: i=1; AFNElJ+ZWPsCoJBBRSNVD/sD5jBeKjRh+er4edFMvGLWktUQFaiMintoi1dYnLjx1et0c7QYFRZmYE38dsTyhIg=@vger.kernel.org X-Gm-Message-State: AOJu0YxBuZZOL637j8wywGtd1ZEqw57QGobmP739B24ul8UonJcpq0Tj RDMAFuQxoN5PjJU/7AJqoj1vLfHGTw8BDEvNLEeJ9w8vD2FOoj13t6cg X-Gm-Gg: AeBDietwuDmHughOKAjbIsTehb7cjnnMrvi5pnWOD+JpSSiQXepTpoK3wZ/f9s8B7CY 5iFjDYlqU8eIt9FXYYaZqzfPjg/VmdQZQNCYRHzuUZf0LUfLwo7/i/z8XmOldikbDxwtdFICqPS 9XeeXy4+5rnPITP+DoGwqBR6YzcMVM71oQePXqM3yG3nu+dD/gxyLutqbSuSdSQj49qYOelpwFP AJBCcznwZUCsu01xZLU6b8eOAqVUn03bytfvu7RuHm/bpPl0PAPc680RdDo2tyed2Y8tQI/SY2x 8r7vhDN7COA2+tjn39Gm+19p0b2eqpMhFkudQ8vlm7RezWebOMFMXQUWSyA/lD/JqtntIBdB5p3 j/l7LwVf2yjQZ4Ct8dt3deDJFADICvp2iKRy3qLDWdL7f7CMVxddLGIXOicqLvARW3cskIUAh6F p8tpCSR1pKDBoF9fjrYBPDrp2n2Fp83d2Rn2g1o3RY8G3dwcD0VfsarQ== X-Received: by 2002:a05:600c:3d90:b0:488:b239:77ec with SMTP id 5b1f17b1804b1-48a77b1781cmr145135425e9.17.1777490061506; Wed, 29 Apr 2026 12:14:21 -0700 (PDT) Received: from [192.168.0.2] ([197.250.51.50]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c316d7esm23315005e9.24.2026.04.29.12.14.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 12:14:20 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Wed, 29 Apr 2026 22:13:14 +0300 Subject: [PATCH v7 3/6] ARM: zte: Add support for zx29 low level debug 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: <20260429-send-v7-3-b432e00d2db8@gmail.com> References: <20260429-send-v7-0-b432e00d2db8@gmail.com> In-Reply-To: <20260429-send-v7-0-b432e00d2db8@gmail.com> To: Jonathan Corbet , Shuah Khan , Russell King , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Krzysztof Kozlowski , Alexandre Belloni , Linus Walleij , Drew Fustini , Greg Kroah-Hartman , Jiri Slaby Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, soc@lists.linux.dev, linux-serial@vger.kernel.org, =?utf-8?q?Stefan_D=C3=B6singer?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2630; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=M2o/Qr31tdSVgMGK7MGptHsdQ8CYwaC7nU5G71DmAdM=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBp8lh1uHld2kPX/8v2HJbRvy3ZwFQDa0OSTcuv+ 3Kf5aBkmCiJAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCafJYdRsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiLcqA/6ApdrD8oX5RPE4JAHnJAWFBos5HFL/o2 XpNBXS+K9DRL+91EY4to310L+6z8TQUfVqrk6vT7uP51Htp4rLo/uARsSbhPjQy1cNh3ao1SJDE QSKaiv7L6V28sOG3uZuFOr8tv0vpjoIeYnquTU0Gatryy6thQB8C/MkegTMkAnAC6cxYcHt8OD/ b5r0sKjrMOJW5th8V6XCxmGEM284cWRjPuVCrhHf7+hBLRzu6eyMJITtCVq/PwWc6ORnu01LuEP tFBEjZcpB2AbeDG+Jadntjmrnnlw8UYCHth1SgL2z6Dp+HIqj4xUPu+cLoZiY/QpDHqW5bNyipa IrwZqC5FWMt+sSEHGAeTOaLIlgvbGgFrVX00vAk0llThQglR2tPjYi7LxhoF9w2OOc7DhaGD2uB vVM2bxL0GQxUB+O1ksEb4lW/cuySwq9iTj1xmwTncmyq/YtwpXrLybTkrMx6/Qg4ThWwsZqNnn6 irosXvwUcEXciS1mNGEz8hhwrVmFo4y8q/vyn+TV2GMeLIH+lqeg+v2aC1JlY6mgqvR3y9LGLxB huWQ2AZwCam0n0gUIZj7xS+yXFhQTxgjPGbMsjhGqVh5leaw4Rvft7M/rnjjBbQOy3ALyM8WkJy 8A116eIV8pRrCb6eTl0JrllUjOb02B99OzBB0OidNpqj3+C9ANvw= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 This is based on the removed zx29 code. A separate (more complicated) patch will re-add the register map to the pl011 serial driver. Reviewed-by: Linus Walleij Signed-off-by: Stefan D=C3=B6singer --- I am unsure about the virtual address. It doesn't seem to matter, as long as it is a valid address. This address is based on the old removed code. Is there a rule-of-thumb physical to virtual mapping I can use to give a sensible default value? --- arch/arm/Kconfig.debug | 12 ++++++++++++ arch/arm/include/debug/pl01x.S | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 366f162e147d..98d8a5a60048 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -1331,6 +1331,16 @@ choice This option selects UART0 on VIA/Wondermedia System-on-a-chip devices, including VT8500, WM8505, WM8650 and WM8850. =20 + config DEBUG_ZTE_ZX + bool "Kernel low-level debugging via zx29 UART" + select DEBUG_UART_PL01X + depends on ARCH_ZTE + help + Say Y here if you are enabling ZTE zx297520v3 SOC and need + debug UART support. This UART is a PL011 with different + register addresses. The UART for boot messages on zx29 boards + is usually UART1 and is operating at 921600 8N1. + config DEBUG_ZYNQ_UART0 bool "Kernel low-level debugging on Xilinx Zynq using UART0" depends on ARCH_ZYNQ @@ -1545,6 +1555,7 @@ config DEBUG_UART_8250 =20 config DEBUG_UART_PHYS hex "Physical base address of debug UART" + default 0x01408000 if DEBUG_ZTE_ZX default 0x01c28000 if DEBUG_SUNXI_UART0 default 0x01c28400 if DEBUG_SUNXI_UART1 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1 @@ -1701,6 +1712,7 @@ config DEBUG_UART_VIRT default 0xf31004c0 if DEBUG_MESON_UARTAO default 0xf4090000 if DEBUG_LPC32XX default 0xf4200000 if DEBUG_GEMINI + default 0xf4708000 if DEBUG_ZTE_ZX default 0xf6200000 if DEBUG_PXA_UART1 default 0xf7000000 if DEBUG_SUN9I_UART0 default 0xf7000000 if DEBUG_S3C64XX_UART && DEBUG_S3C_UART0 diff --git a/arch/arm/include/debug/pl01x.S b/arch/arm/include/debug/pl01x.S index c7e02d0628bf..0c7bfa4c10db 100644 --- a/arch/arm/include/debug/pl01x.S +++ b/arch/arm/include/debug/pl01x.S @@ -8,6 +8,13 @@ */ #include =20 +#ifdef CONFIG_DEBUG_ZTE_ZX +#undef UART01x_DR +#undef UART01x_FR +#define UART01x_DR 0x04 +#define UART01x_FR 0x14 +#endif + #ifdef CONFIG_DEBUG_UART_PHYS .macro addruart, rp, rv, tmp ldr \rp, =3DCONFIG_DEBUG_UART_PHYS --=20 2.53.0 From nobody Tue Jun 16 17:59:31 2026 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 F0FBC423161 for ; Wed, 29 Apr 2026 19:14:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490072; cv=none; b=j/3m0tL7GRjyx1I8NeL95CSs+vgtIJx3cctfFF4hG+a8DbRqo3+1xwxRfLlmQUhtIRjztafrvTGRxVmC76yVdt5HlnvaPPfdXL3rUsICGaGtoF8BZO+I6OrRLXjoRwewxu6TNJOIpOc+fhWwbTCiremK522ioZ10ffEMnqaPk64= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490072; c=relaxed/simple; bh=OFELZprfvGMngJiiwTNQcz/opzneDKzuYgSzdRQRbGE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JpYX0k2PQmC+QS0mi4rMq5AOw3cxZbL+IT2U3sxT+QGI5R8uIV5tPiU+fJ/m0ELcNGd1P81AitSgcqYVjEd9imvPrEOHyOEVoqQvYAhS32gOIatfbhq4SzoPu3NCKFw3RvldzaxtwojGWucSYSnnGr4xW2avQXw4EtqsysjSYW4= 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=G/zf9yje; arc=none smtp.client-ip=209.85.128.43 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="G/zf9yje" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-488d2079582so876295e9.2 for ; Wed, 29 Apr 2026 12:14:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777490067; x=1778094867; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=LkcOvOZZBBJ6rw+XBoAkJNNzNDgTfzBSBc4KLO3hr2I=; b=G/zf9yjeagLTiNgf6bSM5KSNQ0D+WwKDjEJ3VqR7j9DHbqEiBQvyY/HM+JybJ9aAda hV1Oy5POy/usigKepZknhPQZSTn8/LJvuqH2unBNhRQ3ISFmqpf/fKhqwkKJ1dLB/Mp4 sC+2eSLACT0K5xyc42hE76dl1+NncI8Dq48NBDCaM+pf1ugOFExwd+nUJtf8PYKb2Kim 1gjydcXHwAzl8L6ziKlAxp0fKe/LiR3hXUX7lNlRzX3mb03zxVsioCvXiszgG7m4GeKD JzOoMP+zjoEWC+9wIKXmmUP6V86MAOBDpuvTAtMU3d8Q9VCT/AX5lmHs2EKHUWJUsL3/ UK7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777490067; x=1778094867; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=LkcOvOZZBBJ6rw+XBoAkJNNzNDgTfzBSBc4KLO3hr2I=; b=ErGIawhWmZPFYUwGYE70TtLY5AjPJyYVqW6QH+BbkMKAXeTaUgTnRVbDgDNPSHjESL YEe7sTskZD5OAB1jSBaBjpb8JP9aeGIJaY7TrOrQ9Xol7IJ1dmA5WflOMpNA1vVbX1EN ZjPfBi8FOwLtaJfhBLK1UjmqjBuQ6V4gdDvK/s0ro4jOQ7OmjLc6klPfLylLmdvQMLUM TtH6mTq/MhpHHbjAnH7KOraQkyyRz90v1n2fWcbDthkW3uqn5diiQxfJw+xWkCgKzsbo m7dx3V5QYKt7oOOxhGDcTzn/5I+RIBSAINbIiyXSXFYJl1znIdFlm9NOzOh6H0CUtByE EIYQ== X-Forwarded-Encrypted: i=1; AFNElJ9KVP7q/NRPxH3V/T2ElFKAkFLuRsViDnRSNVry4nEyXaEqBbDw+wLrJfRwQVyvIXSNlShue56buGbus4A=@vger.kernel.org X-Gm-Message-State: AOJu0Ywz9sq5KLwLuClh0LiO79YA20O0Or9uSSFZmK/fUxoe4hvr7X6D I03SePSWq3x7yrzBIG6bYVVfa3uZrG58hT0MXoQ6ea9rjmDTS6PAVBcg X-Gm-Gg: AeBDieu6hws4Pwq+ABsqLp5mepBPsA/Dq9fLHuCz595NfA1gA8l1M6VcmE06KjMWQwn GDgfsqu+lyHLmM/X7cvYslv0c7w4RMX8DTME0MaZ6E0U3q73BDKX/G0a8TJR3KOW6FjgQUmPMWW hAt7nsielnYpboB+sJRIOAZYcPuH29HYWnJPuYaAfnZ6WhqJsvXx01FKQCUUicHSdl3EqIAfVl/ MnZ38OJ8SpmbDxct1+aKslEWI/q/Rqjz8xpQZFEiLnPqP83CaHnZ64zZFnlQy7Uk+91HyEVpee2 G0q0q53IfbNhBc794MwznIqb4JVDADHhGVSvQZGL1JFQsbeXI2GfaR9CqO4H5gNW26cqM4A3q40 3ZlfOPl1hP61wzymK5w2JWcWjc68LzZUTp42SLrW4evmz7taSWrwKwHhRUe1M7iw7N6pSrUbTiG WqgcvbGD1qiAm0WdKsXoYDouiKQrcEmw7Ji0vO4eX/RZQ= X-Received: by 2002:a05:600c:c4ac:b0:48a:72ab:f88c with SMTP id 5b1f17b1804b1-48a7b531966mr84488605e9.17.1777490066947; Wed, 29 Apr 2026 12:14:26 -0700 (PDT) Received: from [192.168.0.2] ([197.250.51.50]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c316d7esm23315005e9.24.2026.04.29.12.14.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 12:14:26 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Wed, 29 Apr 2026 22:13:15 +0300 Subject: [PATCH v7 4/6] amba/serial: amba-pl011: Bring back zx29 UART support 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: <20260429-send-v7-4-b432e00d2db8@gmail.com> References: <20260429-send-v7-0-b432e00d2db8@gmail.com> In-Reply-To: <20260429-send-v7-0-b432e00d2db8@gmail.com> To: Jonathan Corbet , Shuah Khan , Russell King , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Krzysztof Kozlowski , Alexandre Belloni , Linus Walleij , Drew Fustini , Greg Kroah-Hartman , Jiri Slaby Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, soc@lists.linux.dev, linux-serial@vger.kernel.org, =?utf-8?q?Stefan_D=C3=B6singer?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2247; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=OFELZprfvGMngJiiwTNQcz/opzneDKzuYgSzdRQRbGE=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBp8lh1w5z33TZAF5+1T30Qwz8S7JO6ytEAYV3FR q8rCJM03hqJAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCafJYdRsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiK9qA/8DlDCl2L85oAjJdHuvdMuhm2cJ1nBxA2 avmcsgKIetHjmqNpP2zk44VFNS0dvdbyQb6XCWZlJSB57i/DMG7Nrsa7S64wEgA8Y+6D5Qghn2+ 5t5t45tmsS9zRNhQ5D2L65vq+NlrBjMsLJkgTM7LqY/pa0eu4en+6m1yHzsCR4bSsNUNvUGRqUS cilD+V8lYukNNOVNqI+N4hLap2VQ7Imy2OiCfb2pYMMKrHCQWTI0ddPGoK96O3iS3lhPpapDw8e IfSUgNKcut7khIXfSbo9XjinyTCVA/c+1YtZGccPu1QaBY/BJUVCmtXQkrMUkdJbZbLSrZZqLTV WwYoEqc4ncyISaPD0WKxhMReXZgOPltignhMr+V1pFTgAifaBDcjkUX9ntUWkzhVHFikhfxXHSf MiAyq2OacP6I6AnNKaoZ7D+7qRZzrNaMIsha2atpd+e+ZfyzyFQWIdGNinY1g3XxrI4OmkCXf9d 3kGa4F+MPE6ixR4HZTp+D0Uxk2UM5tE5CKOnZjBgU8ujQ/3yRIIRT3vgOs5Xp1HFMDkHmnTKeW+ QnQ2JAVva/sKSGsFSLkndoiiTS8H/gfPrPP+XFjTXkEX6rrfeRhdqWW82AJNEvKloPoUWF40y3s cquVgQ4HLe54W/tgOpl04w/5zr4hv6CyqdSxxvBnxer7zeoY+O5U= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 This is based on code removed in commit 89d4f98ae90d ("ARM: remove zte zx platform"). I did not bring back the zx29-uart .compatible as the arm,primecell-periphid does the job. Reviewed-by: Linus Walleij Signed-off-by: Stefan D=C3=B6singer --- Changes since v4: Use ZTE's JEDEC ID instead of 0xfe for the DT-Provided AMBA ID. --- drivers/tty/serial/amba-pl011.c | 42 +++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 42 insertions(+) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl01= 1.c index 7f17d288c807..f24cc403d9e0 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -216,6 +216,38 @@ static struct vendor_data vendor_st =3D { .get_fifosize =3D get_fifosize_st, }; =20 +static const u16 pl011_zte_offsets[REG_ARRAY_SIZE] =3D { + [REG_DR] =3D ZX_UART011_DR, + [REG_FR] =3D ZX_UART011_FR, + [REG_LCRH_RX] =3D ZX_UART011_LCRH, + [REG_LCRH_TX] =3D ZX_UART011_LCRH, + [REG_IBRD] =3D ZX_UART011_IBRD, + [REG_FBRD] =3D ZX_UART011_FBRD, + [REG_CR] =3D ZX_UART011_CR, + [REG_IFLS] =3D ZX_UART011_IFLS, + [REG_IMSC] =3D ZX_UART011_IMSC, + [REG_RIS] =3D ZX_UART011_RIS, + [REG_MIS] =3D ZX_UART011_MIS, + [REG_ICR] =3D ZX_UART011_ICR, + [REG_DMACR] =3D ZX_UART011_DMACR, +}; + +static unsigned int get_fifosize_zte(struct amba_device *dev) +{ + return 16; +} + +static struct vendor_data vendor_zte =3D { + .reg_offset =3D pl011_zte_offsets, + .access_32b =3D true, + .ifls =3D UART011_IFLS_RX4_8 | UART011_IFLS_TX4_8, + .fr_busy =3D ZX_UART01x_FR_BUSY, + .fr_dsr =3D ZX_UART01x_FR_DSR, + .fr_cts =3D ZX_UART01x_FR_CTS, + .fr_ri =3D ZX_UART011_FR_RI, + .get_fifosize =3D get_fifosize_zte, +}; + /* Deals with DMA transactions */ =20 struct pl011_dmabuf { @@ -3081,6 +3113,16 @@ static const struct amba_id pl011_ids[] =3D { .mask =3D 0x00ffffff, .data =3D &vendor_st, }, + { + /* This is an invented ID. The actual hardware that contains + * these ZTE UARTs (zx29 boards) has no AMBA PIDs stored. ZTE + * JEDEC ID (ignoring banks) and the "011" part number as used + * by ARM. + */ + .id =3D 0x0008c011, + .mask =3D 0x000fffff, + .data =3D &vendor_zte, + }, { 0, 0 }, }; =20 --=20 2.53.0 From nobody Tue Jun 16 17:59:31 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 2A479383C81 for ; Wed, 29 Apr 2026 19:14:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490078; cv=none; b=mv3JG6Xio9FBc26rvecZllHGuddLYkY63TZ1EKc6Ya0aaZgbFC4QLowuA0qHhCbiBkzZSfbIlt3SOjiHzaAv1dPBfGNsM6MZ3Ns3ZqpIHIdO85DBNnRDGR3h/xwqFlQaI8v0UtMa54e0pykvPhBNzYX4UH/6FeHE1bPZ6YKRws0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490078; c=relaxed/simple; bh=7LiDLxjelI1MRSngPzWRBkqRNsscbkTyc8tG8Vfm5PA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CmEDpbunO4eIVl7K7vDmmegGBvi32Y3k0DlSbeqdyNRierVZdDvrRgJAyzj7uV3faWRn9CtWeOPU34uQSnBikEwq1z3e7NF5b0Ig7Vu9YMYUipCtnMXsv8vH4M2nXo8jCPD29LF3KbHNOqwP1GNGg88giT3D3ArM3AQvnQyc4tw= 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=bkX+zQ3u; arc=none smtp.client-ip=209.85.128.48 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="bkX+zQ3u" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4852a9c6309so830245e9.0 for ; Wed, 29 Apr 2026 12:14:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777490072; x=1778094872; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=mK1m9udRxQHj0zYCLQVzg/V9Z3Gw4DlTQK/hyL0gOMA=; b=bkX+zQ3uCF2unrAWL/Bv7r5oNVE3yJGemvf/7iV8b9UnHWwi9o8jUhZmTJACHNTwt7 lKt4a6pskDg6Y02Lyc9MnyRwRBh1g+z8QxXQH7GxLuheJXHhqQb6GHI6rFFoa/QmhR5N hdaVgPQ9DFizlDE2FRXcteMWZuP/CquHU+jQzrXKVpXqVQqJ9SggNhRxm2zak2eixWbX xo06CtI9ch5gAHk/W14fl5I2DePufbLWNjC0rPD5dRKMRcw3M8xP/PErzUmYD9RsdDnv qZ+i5mPHf3VC/ARVDjyYMDGomBE+h7Ll+HdlyYeK9PORmVeuFIh2sMoNod88U4sQVxuf naLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777490072; x=1778094872; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=mK1m9udRxQHj0zYCLQVzg/V9Z3Gw4DlTQK/hyL0gOMA=; b=KX5IFmlSnQMs8isOM+LtD3ZCZ+o418XYpkrsVJsRuZnIy7RK0V7Psy08/Mc7kHhzpK A1QjxF+2xFzhR26HyvMh0qxBKNJdC47JURhmH3scnPs7LVX2CGcOJpWbeKY3BboLUksi 8QckSvMR0OvXBKS5OjSuXz/zkDLGfDuf6x6UF+fT6fmSTxZoQmVDV6mNhLZUUmebvGFe fKgkPdctobo8B2sUf9/DytgPD9/sv4J2cI7JtCblFJafqK2eXqv8Bz9XR/MA9pTtuOzR 2gzaMxB4MPO2arwEUfwb9fVYl3gLlBHNIa3nnQX/C8Tp94Tuj1ersz6ddH9z2I3+B4qE A3cA== X-Forwarded-Encrypted: i=1; AFNElJ/6onWLXs2/EXvjcWiPHE48zGELeOo0GwgG9S29AYOPu/BfkLJPgjr/TPlEmQg+w40oBylouZ3msqHkD/g=@vger.kernel.org X-Gm-Message-State: AOJu0YxAsQVGXOPVJlJWECtLMwfvcHwBTCfcV85BVBrTRscer5LVfWNl 22JG3UAD3kALu6tSMnibjfnwj0bPDoFzt/s2B6MmRcSJTSu5TuNFzC3u X-Gm-Gg: AeBDietYp2W7iVHj2hFmrM9oebkPcWhnhBpzFs998lHFugCDmtolMX1EzlDfWuiGQCW UahLMJLtd1sLFh5ADm+SXf+1x5E55MWUvxSfISbfBMsNu5vpKaS6LR27Ea9fX4eqAloN2nEV8u3 HRgIv28nygVPSw94+lbgQtMwySkbqvcSJ8OiR08SSmzW/QYBa5e1ttS4O7ByMPPztcl21DfrjRr oqJMhTniiSIE8gVsNeXzVD7Ie1xU1IiS/aCazEnqeFBKmT+Iy2zpBWM81OymgbhzGJHYQ1zKuuS JEcqliRhxxJBsx+gMvQ0jaVrNBkT2bd65QB1aYWxlj+7sT2bWZpPsZARw1e+3+Ts8uN7ZgKbv/H w9Vao1NYI++q68fp0YMVRr7/D+Lw+LDAweVH5jnmgVIz82VQaSvfFtjOT8W2p7jgrXGK+kZn5Pt NRlcZOKB3dvqEFZ8+n1szUcTmnS167qJPUg4i3AI0SERI= X-Received: by 2002:a05:600c:530f:b0:488:b241:2c5f with SMTP id 5b1f17b1804b1-48a77b298b3mr135131605e9.26.1777490072141; Wed, 29 Apr 2026 12:14:32 -0700 (PDT) Received: from [192.168.0.2] ([197.250.51.50]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c316d7esm23315005e9.24.2026.04.29.12.14.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 12:14:31 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Wed, 29 Apr 2026 22:13:16 +0300 Subject: [PATCH v7 5/6] ARM: dts: zte: Add D-Link DWR-932M support 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: <20260429-send-v7-5-b432e00d2db8@gmail.com> References: <20260429-send-v7-0-b432e00d2db8@gmail.com> In-Reply-To: <20260429-send-v7-0-b432e00d2db8@gmail.com> To: Jonathan Corbet , Shuah Khan , Russell King , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Krzysztof Kozlowski , Alexandre Belloni , Linus Walleij , Drew Fustini , Greg Kroah-Hartman , Jiri Slaby Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, soc@lists.linux.dev, linux-serial@vger.kernel.org, =?utf-8?q?Stefan_D=C3=B6singer?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6135; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=7LiDLxjelI1MRSngPzWRBkqRNsscbkTyc8tG8Vfm5PA=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBp8lh1tloJjoHTz5voAxHKCRFWLmhY6bogPiefG IyMGNt2a96JAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCafJYdRsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiKS5w/+NyLFdHQ/LwCkbgeqQ3GufVgE0dd5DoK cRlXxYxtphF+Lv5/bOgLDme3hrWzpHqHpkGaRBCkd00oBRRlpTdL38en49eQuJZVHrvma2TqoTU 9rqOFZcJ3N31UWuJ/urEcfHNFT6KkLa8k4mzRSp9VGdpQQQr3PvaybOgqBmfGs5T8tFn+rRO1Bp 76+AAhs1aOjv1GLIExEwiE6RWiCB4WIwEWoHllkdSec4pn04S2ItHiYp6yqcpRE4s/vFVDOdO+o rihGz8U45p01J05ssBBkbSYZJWIM5Cor4hKRQ5gi9Jyf3HczyuGB8OBzJsY4n1Ubrz4E5fPSRO7 e1dGUlCe+v+/R39MRyX9I7zbIoyGwi/lhCG/gqAxQNXpTrI8wjSe9qu5TYj+o2aTvlzSe4i7yte zcw0rnYtahTzM6hIgRgfeoXaMZ7POVVReLcBOzdHGEeY8o1oxPU9dqtnc/qD0msFntFgBm4nitn tDpSlps9k08RIXHUC3/tlM9J/YfNq8o5/G8obxDrGCKFCuvnFsB4x90iXFzGvykKdyJz1lxd0zg ytzzicSoiQkhLVoOuVJaRdBUdm72MrQX4ANfGnzZhbfbMZaW9BCwMuCzN8lLvcvBdP6/bJXU+AE +n8AqzPfZwlX0y1TFWq8MZP8Mab7EOq3bmswyD9VyceVXjeCUrRo= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 This adds base DT definition for zx297520v3 and one board that consumes it. The stock kernel does not use the armv7 timer, but it seems to work fine. The board has other board-specific timers that would need a driver and I see no reason to bother with them since the arm standard timer works. The caveat is the non-standard GIC setup needed to handle the timer's level-low PPI. This is the responsibility of the boot loader and documented in Documentation/arch/arm/zte/zx297520v3.rst. Signed-off-by: Stefan D=C3=B6singer --- Changes in v6: Squash board + timer + uart patches into one v5: Prepend the SoC name in the device specific DTS filename. v4: Declare all uarts Remove the UART aliases for now. I can revisit this when I get my hands on a board that exposes two UARTs. --- MAINTAINERS | 1 + arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/zte/Makefile | 3 + arch/arm/boot/dts/zte/zx297520v3-dlink-dwr932m.dts | 22 +++++ arch/arm/boot/dts/zte/zx297520v3.dtsi | 103 +++++++++++++++++= ++++ 5 files changed, 130 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index e707176c2114..6f51ba1c5ada 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3775,6 +3775,7 @@ F: drivers/video/fbdev/wmt_ge_rops.* ARM/ZTE ZX29 SOC SUPPORT M: Stefan D=C3=B6singer F: Documentation/devicetree/bindings/arm/zte.yaml +F: arch/arm/boot/dts/zte/ F: arch/arm/mach-zte/ =20 ARM/ZYNQ ARCHITECTURE diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index efe38eb25301..28fba538d552 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -39,3 +39,4 @@ subdir-y +=3D unisoc subdir-y +=3D vt8500 subdir-y +=3D xen subdir-y +=3D xilinx +subdir-y +=3D zte diff --git a/arch/arm/boot/dts/zte/Makefile b/arch/arm/boot/dts/zte/Makefile new file mode 100644 index 000000000000..f052cfbd636c --- /dev/null +++ b/arch/arm/boot/dts/zte/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0-only +dtb-$(CONFIG_SOC_ZX297520V3) +=3D \ + zx297520v3-dlink-dwr932m.dtb diff --git a/arch/arm/boot/dts/zte/zx297520v3-dlink-dwr932m.dts b/arch/arm/= boot/dts/zte/zx297520v3-dlink-dwr932m.dts new file mode 100644 index 000000000000..1700f46aba86 --- /dev/null +++ b/arch/arm/boot/dts/zte/zx297520v3-dlink-dwr932m.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2026 Stefan D=C3=B6singer + */ + +/dts-v1/; + +#include "zx297520v3.dtsi" + +/ { + model =3D "D-Link DWR-932M"; + compatible =3D "dlink,dwr932m", "zte,zx297520v3"; + + memory@20000000 { + device_type =3D "memory"; + reg =3D <0x20000000 0x04000000>; + }; +}; + +&uart1 { + status =3D "okay"; +}; diff --git a/arch/arm/boot/dts/zte/zx297520v3.dtsi b/arch/arm/boot/dts/zte/= zx297520v3.dtsi new file mode 100644 index 000000000000..ca65797ed926 --- /dev/null +++ b/arch/arm/boot/dts/zte/zx297520v3.dtsi @@ -0,0 +1,103 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2026 Stefan D=C3=B6singer + */ + +#include + +/ { + #address-cells =3D <1>; + #size-cells =3D <1>; + + cpus { + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpu@0 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a53"; + reg =3D <0>; + }; + }; + + /* Base bus clock and default for the UART. It will be replaced once a cl= ock driver has + * been added. + */ + uartclk: uartclk: uartclk-26000000 { + #clock-cells =3D <0>; + compatible =3D "fixed-clock"; + clock-frequency =3D <26000000>; + }; + + timer { + compatible =3D "arm,armv7-timer"; + interrupts =3D , + , + , + ; + clock-frequency =3D <26000000>; + interrupt-parent =3D <&gic>; + /* I don't think uboot sets CNTVOFF and the stock kernel doesn't use the + * arm timer at all. Since this is a single CPU system I don't think it + * really matters that the offset is random though. + */ + arm,cpu-registers-not-fw-configured; + }; + + soc { + #address-cells =3D <1>; + #size-cells =3D <1>; + compatible =3D "simple-bus"; + interrupt-parent =3D <&gic>; + ranges; + + /* The GIC has a non-standard way of configuring ints between level-low/= level + * high or rising edge/falling edge at 0xf2202070 and onwards. See AP_IN= T_MODE_BASE + * and AP_PPI_MODE_REG in the ZTE kernel, although the offsets in the ke= rnel source + * seem wrong. + * + * Everything defaults to active-high/rising edge, but the timer is acti= ve-low. We + * currently rely on the boot loader to change timer IRQs to active-low = for us for + * now. + */ + gic: interrupt-controller@f2000000 { + compatible =3D "arm,gic-v3"; + interrupt-controller; + #interrupt-cells =3D <3>; + #address-cells =3D <1>; + #size-cells =3D <1>; + reg =3D <0xf2000000 0x10000>, + <0xf2040000 0x20000>; + }; + + uart0: serial@131000 { + compatible =3D "arm,primecell"; + arm,primecell-periphid =3D <0x0018c011>; + reg =3D <0x00131000 0x1000>; + interrupts =3D ; + clocks =3D <&uartclk>, <&uartclk>; + clock-names =3D "uartclk", "apb_pclk"; + status =3D "disabled"; + }; + + uart1: serial@1408000 { + compatible =3D "arm,pl011", "arm,primecell"; + arm,primecell-periphid =3D <0x0018c011>; + reg =3D <0x01408000 0x1000>; + interrupts =3D ; + clocks =3D <&uartclk>, <&uartclk>; + clock-names =3D "uartclk", "apb_pclk"; + status =3D "disabled"; + }; + + uart2: serial@140d000 { + compatible =3D "arm,primecell"; + arm,primecell-periphid =3D <0x0018c011>; + reg =3D <0x0140d000 0x1000>; + interrupts =3D ; + clocks =3D <&uartclk>, <&uartclk>; + clock-names =3D "uartclk", "apb_pclk"; + status =3D "disabled"; + }; + }; +}; --=20 2.53.0 From nobody Tue Jun 16 17:59:31 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 EBDB9423A7B for ; Wed, 29 Apr 2026 19:14:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490080; cv=none; b=i5qaYYrhBkTYt9xlz8GOj8XQxrqEQDfht2Vo6Px3x/lRJ6y2l06M3WH1oQHYIsWSan69wqaLtMXqGBre8gCcLkYwL9HtnPgjqjaym5jhyrELQbCsRsA3YNW6wOYe9hh6PRD8xuYKXLQ/Uj0fki7ENRmBpiO+g6NwOu2qsm9iDKI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777490080; c=relaxed/simple; bh=Raw3nnG6txGxRT2tuucK4Vyk8RJ3aJNJodqKknAtnWs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=etaShJtKCfwL1mYSLDxrrnCuhmBx44GDxPPZEw1u2Sdr9AmGHVeIWj05oAnC6TaFSHWj2F04Q8JPsjpOyYb7W3j40crK+uaPNGGv3zLpvpUaazTwze0c9Xq1s5q6J/+zkdfKwZ1Bygm1fq14Om9y8RyL5lmKxWQq+Y79W/BGp7c= 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=fH502bVa; arc=none smtp.client-ip=209.85.128.53 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="fH502bVa" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-48896199cbaso914345e9.1 for ; Wed, 29 Apr 2026 12:14:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777490077; x=1778094877; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=6fKUgxBCx0mNxBEJyRtsEMEQ1iRhj1qvL3+7BPzmL+U=; b=fH502bVa3+gNxhIob4IOre3rUEmgRL9V3GaLlY7rO7PV2KdQy69LcCjMC1osfFnCva +xd++tqIYgMW5ULkBNnw6F57uTJ9NDdlBLUkI2Ct508tiuCB0JPlwq/LBcSbaXNinbdV 4bqSbNCPvXf6/piu0mgHEbbQsyqgA0co4FG1E8TbAZR3/CmftIGyYY+hko9OPzb1ifiT RhozoOBVBuz4w5oJUHUb8Pc0/7l79daS7WMn5AMKTdWQRrNpzbz44bRc6jvFMHRYJTZH BWeEdkCsrAFeTzjDKKXF7VbJMWIHAqh+JEZZS6DwG9Q1rbbkCJuHrq7S+a9WhXfwqxgq nJrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777490077; x=1778094877; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=6fKUgxBCx0mNxBEJyRtsEMEQ1iRhj1qvL3+7BPzmL+U=; b=jDSHQxrKJ5A6FwEDR78ixN3Qnwzdj4QfboApCH+mu3kNbV3AgDWcgmZtsjjf4+PoFi yCkcNVXWNLzRAZG5//w5qShedMgk/uRHMjEGaBvqa175DpTrRi0KsJr44rELY2adDBwV ulbaxT9ZdFp8cgKa/16TAQLBm0NeqBS4nj64su0YBGkfZPtFVNiG+h/EfeUB8/FAHQQ6 emn10IRKvCfkW31mO6ptge7P8Fodrh0ctGbBJdn6ylElwnRArkZKKYUG6IPsFWT20T9X g1vG6LPtJmLoo5GFh+98PCo+nvkGMhnq1EtC9zdGj/zctE8d0BMhjZG59G6oEwYd5m5l yf+g== X-Forwarded-Encrypted: i=1; AFNElJ9DQpWYRqIzMFe7bfYHbZ0qycB4Wt1gV3qibKxFeVXisFDifJLJwusszPTXOMRgF0qSPpVJyx76FT/3TD0=@vger.kernel.org X-Gm-Message-State: AOJu0YzVNpI6r/pVuwmx0SHU9HVy18Ou96qbM/zK8v5xZdMpihSFP+xF Wlyaf2Uey2DoN0g45SvMElsX3RFjZK9yDPOVKPvNb7A0EMKbi2BCn4lm X-Gm-Gg: AeBDieurTTX6WIpO8uAOEpqu5Oae/D3s9nSGaASTg1XQmDc4QJu9NLDixBfFXN5Wylz z1VaipQm0JvTu2D0XnWwu0F5tV3aHmYABAo6+GLkTd0mFhoVIcRFVUnQMgPGdc3uZwJyLhWgTzV h+1Pxcg+E5H9eUhgGoS51s7xXaRdrM3alWuTVUUP9jvnjxFTtG4Iqde1vcGsTG32Ka5LF/YvSrl QrJ0YiNmP3QTnOTA+8xvFmYxI601IPYBVrJRuU801Cx7Y1nGMKajjLrf0ooncvI0qkiHlez7Wzx OW33GELrwQQFayxZb8XX6+GaMZeDDUUfJGavvBiYmAgatjDEcA/xV+WpjcbJktlPok3RKlqZ5LP TgrPrSzPGHS4xAHBtQDvSHAZFFJcXiGdccHyUrZSTljkhs8T4Ifc7I8iY6uZvh+9XUsF8xzUNLi 33c5MwtjwGD+SAqyQnqPcoTAHJxecVoosUYOOvekDNqi8= X-Received: by 2002:a05:600c:630a:b0:487:1fb4:7e1 with SMTP id 5b1f17b1804b1-48a77b0ee3emr168084865e9.22.1777490077103; Wed, 29 Apr 2026 12:14:37 -0700 (PDT) Received: from [192.168.0.2] ([197.250.51.50]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c316d7esm23315005e9.24.2026.04.29.12.14.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 12:14:36 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Wed, 29 Apr 2026 22:13:17 +0300 Subject: [PATCH v7 6/6] ARM: zte: defconfig: Add a zx29 defconfig file 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: <20260429-send-v7-6-b432e00d2db8@gmail.com> References: <20260429-send-v7-0-b432e00d2db8@gmail.com> In-Reply-To: <20260429-send-v7-0-b432e00d2db8@gmail.com> To: Jonathan Corbet , Shuah Khan , Russell King , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Arnd Bergmann , Krzysztof Kozlowski , Alexandre Belloni , Linus Walleij , Drew Fustini , Greg Kroah-Hartman , Jiri Slaby Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, soc@lists.linux.dev, linux-serial@vger.kernel.org, =?utf-8?q?Stefan_D=C3=B6singer?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2584; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=Raw3nnG6txGxRT2tuucK4Vyk8RJ3aJNJodqKknAtnWs=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBp8lh1EhYS/FI32IlxLUBQvJ1l9b49Dbf2N5b5b 0+0yQRveI2JAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCafJYdRsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiLTUQ/9H4sDaDcI8rzJTKhDFNRttj29vxe6POt eevQdOL+WQaWNV5Iq+5n/XsbP0bp2cuqUwCUbr8sRr+s1kFz2TB0YjWQCjT3eLTpU5F5xZ32V0n LM2hx7oOK5tvlCn8EScXp2v/0t3G+WwS+PJT5JkKKJj670Z+5PbBWmdkRRqR3eCZ8LkVWsJAO3y T6ya+d2yGv+jVfZmp6Cm7nsdVINKlFQ9bKmBEqOHwXwpNK35xPEsHUqYselJ7Y6ijIHTAQWSPSs m3HtYNJPJcw2how9p084rusWqFS6qVPgWGEBCEZ1+5Y2FdKepgvjuVRUqAOUxU6EOBIVKYz+Zup ksAoJGRzMC/o2/w4J7l9+9Eyqv6UdS3yu3HgiBloNGM8fiQDDFDkI9tdLK/sn5YjiIaSs96IY3H MrPisngXDE6JCyVlGzNlHzB1PZZXYm3TiGr8Lw04HhyawjbA8bad7k+IpOJmFlGULDQ4ais+Tkx 4ByKHcTaCM9V7eUzaK2vsVsDGstcn8lKV26t78yeQ5Szmy8+uZJEUhVdjd5ue6j2JYuiG4EeOjq Tieiv8xSuv6EmymMgSguk0s87VQE1xZ01bcYbN84JI/M4Snh3oh9SBKL2PESxrMa0NIfilYH5Vk VQ6/qQIFKNYuUoKSGqwlOh9qd8IC9QthvqlEMv8q/soMTaUMkvFE= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 This enables existing drivers for hardware that is present on this board even if it is not present in the DT yet. Signed-off-by: Stefan D=C3=B6singer --- Changes: v5 to v6: Regenerate the file with make savedefconfig. An open question: What's the appropriate name? zx29_defconfig? zte_defconfig? zte_zx29_defconfig? There's e.g. stm32_defconfig without an extra mention of STMicro in the name. --- MAINTAINERS | 1 + arch/arm/configs/zx29_defconfig | 54 +++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 55 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 6f51ba1c5ada..5dc52b84cc09 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3776,6 +3776,7 @@ ARM/ZTE ZX29 SOC SUPPORT M: Stefan D=C3=B6singer F: Documentation/devicetree/bindings/arm/zte.yaml F: arch/arm/boot/dts/zte/ +F: arch/arm/configs/zx29_defconfig F: arch/arm/mach-zte/ =20 ARM/ZYNQ ARCHITECTURE diff --git a/arch/arm/configs/zx29_defconfig b/arch/arm/configs/zx29_defcon= fig new file mode 100644 index 000000000000..54fa62ed56e7 --- /dev/null +++ b/arch/arm/configs/zx29_defconfig @@ -0,0 +1,54 @@ +CONFIG_SYSVIPC=3Dy +CONFIG_BLK_DEV_INITRD=3Dy +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZ4 is not set +CONFIG_EXPERT=3Dy +CONFIG_KALLSYMS_ALL=3Dy +CONFIG_ARCH_ZTE=3Dy +CONFIG_ARM_PSCI=3Dy +CONFIG_ARM_APPENDED_DTB=3Dy +CONFIG_CMDLINE=3D"console=3DttyAMA0 earlyprintk root=3D/dev/ram rw" +CONFIG_CPU_FREQ=3Dy +CONFIG_CPUFREQ_DT_PLATDEV=3Dy +# CONFIG_SUSPEND is not set +CONFIG_PM=3Dy +CONFIG_BINFMT_FLAT=3Dy +CONFIG_NET=3Dy +CONFIG_PACKET=3Dy +CONFIG_UNIX=3Dy +CONFIG_INET=3Dy +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_MTD=3Dy +CONFIG_MTD_BLOCK=3Dy +CONFIG_BLK_DEV_RAM=3Dy +CONFIG_BLK_DEV_RAM_COUNT=3D4 +CONFIG_SRAM=3Dy +CONFIG_KEYBOARD_GPIO_POLLED=3Dy +# CONFIG_INPUT_MOUSE is not set +CONFIG_VT_HW_CONSOLE_BINDING=3Dy +CONFIG_SERIAL_AMBA_PL011=3Dy +CONFIG_SERIAL_AMBA_PL011_CONSOLE=3Dy +CONFIG_SERIAL_DEV_BUS=3Dy +# CONFIG_HW_RANDOM is not set +CONFIG_PINCTRL=3Dy +CONFIG_GPIOLIB=3Dy +CONFIG_GPIO_GENERIC_PLATFORM=3Dy +CONFIG_POWER_RESET=3Dy +CONFIG_MFD_SYSCON=3Dy +CONFIG_REGULATOR=3Dy +CONFIG_REGULATOR_FIXED_VOLTAGE=3Dy +# CONFIG_HID is not set +CONFIG_USB_DWC2=3Dy +CONFIG_USB_GADGET=3Dy +CONFIG_MMC=3Dy +CONFIG_MMC_DW=3Dy +CONFIG_RESET_CONTROLLER=3Dy +CONFIG_RESET_SIMPLE=3Dy +CONFIG_JFFS2_FS=3Dy +CONFIG_PRINTK_TIME=3Dy +CONFIG_DEBUG_LL=3Dy +CONFIG_EARLY_PRINTK=3Dy --=20 2.53.0