From nobody Tue Feb 10 01:31:41 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 B50D32EFD91; Thu, 1 Jan 2026 16:58:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767286714; cv=none; b=StVwwfENvHkKseV6WmHY5oK9dyKxRCPcXQuEeEeZyMLr7/e4hOFIIN6B7U4VAB5CZJ1Xwv6LyLj4e0Xs0aT5PHfKEclY4PA4wZhKBWalBUJ24aWPBubQtTVLkOGbu+wbsEIBlboOQKBrKGdsrLyH9qCqQbz6DcFS0w+vQ7aCHh0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767286714; c=relaxed/simple; bh=v/9NkwRyl9PO0r6MxNTix9cpNGcgG1JvI/Az6tJGjTY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Dzn23xnSYMVcDjF7HXFC3aoNbdayvfd7j7lVXZARAxltdNjVfMnJL77wwX3iTGuC/pUCw1c9O9DXca0RtAVoLJPuiT61h9Akuf0CLt6IiGlC3c3XLOUW8d/zK7chUbwK4mxp5NoK780RB7EhcU7NqUUCp+I+bVIUTsQ5gSMbJX0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=D+dJGBhn; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="D+dJGBhn" Received: by smtp.kernel.org (Postfix) with ESMTPS id 4E887C4AF13; Thu, 1 Jan 2026 16:58:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1767286714; bh=v/9NkwRyl9PO0r6MxNTix9cpNGcgG1JvI/Az6tJGjTY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=D+dJGBhnjZKlBqzsEhFOvvPIHqSM0dLZvoOBkok8Qiu5YWVmDk0Ab4aeXnx1cIzFd DRsh69+vqzW1por2OMlaemJNTiY6uwFBlSXlvVVgw9uptXlqupHno5by7LFPbQ3Qu8 sU9TsXus7Ny4T9HTZhluaEvfYXv/yrevz9/QsDicOJOWKpsgcQqQErJwFRr2Ve/+Yq jkKBRZX+KKiT5o+AHES0WhUSqPrS1HFxtFdYP+5HY0//jNIiUi68OoBv7J0IQzk1YJ T0L9/PG7KtDmu69XSOls5uP780DBk9+BRvlRCAyvgKdWrzZ2Nu4UunMRFSI+k33oPO kmC1qoQ/XlL4A== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45344EED630; Thu, 1 Jan 2026 16:58:34 +0000 (UTC) From: =?utf-8?q?J=2E_Neusch=C3=A4fer_via_B4_Relay?= Date: Thu, 01 Jan 2026 17:58:17 +0100 Subject: [PATCH RESEND v5 4/4] dt-bindings: memory-controllers: Convert fsl,elbc to YAML 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: <20260101-ppcyaml-elbc-v5-4-251c7f14a06c@posteo.net> References: <20260101-ppcyaml-elbc-v5-0-251c7f14a06c@posteo.net> In-Reply-To: <20260101-ppcyaml-elbc-v5-0-251c7f14a06c@posteo.net> To: Krzysztof Kozlowski , Rob Herring , Conor Dooley , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Krzysztof Kozlowski , Crystal Wood , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Naveen N Rao , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Christophe Leroy Cc: Frank Li , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-mtd@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, dri-devel@lists.freedesktop.org, =?utf-8?q?J=2E_Neusch=C3=A4fer?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1767286712; l=9120; i=j.ne@posteo.net; s=20240329; h=from:subject:message-id; bh=xXWJdOjzGA+eFe7zIRw+MN6SaSf7T8txfejACcAOhAo=; b=Wgt91VmdU/zZviqVNNe90j8DMXjX9UNa31tGUwKKVLhVPP9aROlvN0E/vJo1u1ba6fkc7J1kw F2ZFdB6canED1yH41tXK5PW8ywsfz+s1rWZ9VDJ8DoVDD6CY3LCpkPe X-Developer-Key: i=j.ne@posteo.net; a=ed25519; pk=NIe0bK42wNaX/C4bi6ezm7NJK0IQE+8MKBm7igFMIS4= X-Endpoint-Received: by B4 Relay for j.ne@posteo.net/20240329 with auth_id=156 X-Original-From: =?utf-8?q?J=2E_Neusch=C3=A4fer?= Reply-To: j.ne@posteo.net From: "J. Neusch=C3=A4fer" Convert the Freescale localbus controller bindings from text form to YAML. Compared to the .txt version, the YAML binding contains a new usage example with FCM NAND flash, and a full list of compatible strings based on current usage in arch/powerpc/boot/dts/. Note that the both the compatible strings and the unit address format are kept as-is, for compatibility with existing kernels and device trees, as well as unit address readability. This results in dts validation warnings: Warning (simple_bus_reg): /example-0/localbus@f0010100/board-control@1,0: simple-bus unit address format error, expected "100000000" Signed-off-by: J. Neusch=C3=A4fer --- V5: - fix reference to fsl/lbc.txt in Documentation/devicetree/bindings/display/ssd1289fb.txt V4: - no changes V3: - move this patch after the GPCM/FCM patches to dtschema/dtc warnings due to missing bindings for fsl,elbc-gpcm-uio and fsl,elbc-fcm-nand - add "simple-bus" again, for compatibility with existing DTs/drivers based on discussion with Crystal Wood and Rob Herring - fix fsl,pq2-localbus compatible properties based on mgcoge.dts / ep8248e.= dts (was missing "simple-bus") - add board-control (bcsr) example again, now using the compatible string listed in Documentation/devicetree/bindings/board/fsl,bcsr.yaml - remove interrupt-parent property from example - rework the commit message V2: - fix order of properties in examples, according to dts coding style - move to Documentation/devicetree/bindings/memory-controllers - clarify the commit message a tiny bit - remove unnecessary multiline markers (|) - define address format in patternProperties - trim subject line (remove "binding") - remove use of "simple-bus", because it's technically incorrect --- .../devicetree/bindings/display/ssd1289fb.txt | 2 +- .../bindings/memory-controllers/fsl,elbc.yaml | 158 +++++++++++++++++= ++++ .../devicetree/bindings/powerpc/fsl/lbc.txt | 43 ------ 3 files changed, 159 insertions(+), 44 deletions(-) diff --git a/Documentation/devicetree/bindings/display/ssd1289fb.txt b/Docu= mentation/devicetree/bindings/display/ssd1289fb.txt index 4fcd5e68cb6e00..8cb59359352c68 100644 --- a/Documentation/devicetree/bindings/display/ssd1289fb.txt +++ b/Documentation/devicetree/bindings/display/ssd1289fb.txt @@ -4,7 +4,7 @@ Required properties: - compatible: Should be "solomon,ssd1289fb". The only supported bus for now is lbc. - reg: Should contain address of the controller on the LBC bus. The deta= il - was described in Documentation/devicetree/bindings/powerpc/fsl/lbc.txt + was described in Documentation/devicetree/bindings/memory-controllers/= fsl,elbc.yaml =20 Examples: display@2,0 { diff --git a/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.= yaml b/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml new file mode 100644 index 00000000000000..620d7e7c62df35 --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml @@ -0,0 +1,158 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/memory-controllers/fsl,elbc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale Enhanced Local Bus Controller + +maintainers: + - J. Neusch=C3=A4fer + +properties: + $nodename: + pattern: "^localbus@[0-9a-f]+$" + + compatible: + oneOf: + - items: + - enum: + - fsl,mpc8313-elbc + - fsl,mpc8315-elbc + - fsl,mpc8377-elbc + - fsl,mpc8378-elbc + - fsl,mpc8379-elbc + - fsl,mpc8536-elbc + - fsl,mpc8569-elbc + - fsl,mpc8572-elbc + - fsl,p1020-elbc + - fsl,p1021-elbc + - fsl,p1023-elbc + - fsl,p2020-elbc + - fsl,p2041-elbc + - fsl,p3041-elbc + - fsl,p4080-elbc + - fsl,p5020-elbc + - fsl,p5040-elbc + - const: fsl,elbc + - const: simple-bus + + - items: + - enum: + - fsl,mpc8247-localbus + - fsl,mpc8248-localbus + - fsl,mpc8272-localbus + - const: fsl,pq2-localbus + - const: simple-bus + + - items: + - enum: + - fsl,mpc8247-localbus + - fsl,mpc8248-localbus + - fsl,mpc8360-localbus + - const: fsl,pq2pro-localbus + - const: simple-bus + + - items: + - enum: + - fsl,mpc8540-localbus + - fsl,mpc8544-lbc + - fsl,mpc8544-localbus + - fsl,mpc8548-lbc + - fsl,mpc8548-localbus + - fsl,mpc8560-localbus + - fsl,mpc8568-localbus + - const: fsl,pq3-localbus + - const: simple-bus + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + "#address-cells": + enum: [2, 3] + description: + The first cell is the chipselect number, and the remaining cells are= the + offset into the chipselect. + + "#size-cells": + enum: [1, 2] + description: + Either one or two, depending on how large each chipselect can be. + + ranges: + description: + Each range corresponds to a single chipselect, and covers the entire + access window as configured. + +patternProperties: + # format: name@chipselect,address + "^.*@[0-9a-f]+,[0-9a-f]+$": + type: object + +additionalProperties: false + +examples: + - | + localbus@f0010100 { + compatible =3D "fsl,mpc8272-localbus", + "fsl,pq2-localbus", + "simple-bus"; + reg =3D <0xf0010100 0x40>; + ranges =3D <0x0 0x0 0xfe000000 0x02000000 + 0x1 0x0 0xf4500000 0x00008000 + 0x2 0x0 0xfd810000 0x00010000>; + #address-cells =3D <2>; + #size-cells =3D <1>; + + flash@0,0 { + compatible =3D "jedec-flash"; + reg =3D <0x0 0x0 0x2000000>; + bank-width =3D <4>; + device-width =3D <1>; + }; + + board-control@1,0 { + reg =3D <0x1 0x0 0x20>; + compatible =3D "fsl,mpc8360mds-bcsr"; + }; + + simple-periph@2,0 { + compatible =3D "fsl,elbc-gpcm-uio"; + reg =3D <0x2 0x0 0x10000>; + elbc-gpcm-br =3D <0xfd810800>; + elbc-gpcm-or =3D <0xffff09f7>; + }; + }; + + - | + localbus@e0005000 { + compatible =3D "fsl,mpc8315-elbc", "fsl,elbc", "simple-bus"; + reg =3D <0xe0005000 0x1000>; + ranges =3D <0x0 0x0 0xfe000000 0x00800000 + 0x1 0x0 0xe0600000 0x00002000 + 0x2 0x0 0xf0000000 0x00020000 + 0x3 0x0 0xfa000000 0x00008000>; + #address-cells =3D <2>; + #size-cells =3D <1>; + interrupts =3D <77 0x8>; + + flash@0,0 { + compatible =3D "cfi-flash"; + reg =3D <0x0 0x0 0x800000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + bank-width =3D <2>; + device-width =3D <1>; + }; + + nand@1,0 { + compatible =3D "fsl,mpc8315-fcm-nand", + "fsl,elbc-fcm-nand"; + reg =3D <0x1 0x0 0x2000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + }; + }; diff --git a/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt b/Docume= ntation/devicetree/bindings/powerpc/fsl/lbc.txt deleted file mode 100644 index 1c80fcedebb520..00000000000000 --- a/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt +++ /dev/null @@ -1,43 +0,0 @@ -* Chipselect/Local Bus - -Properties: -- name : Should be localbus -- #address-cells : Should be either two or three. The first cell is the - chipselect number, and the remaining cells are the - offset into the chipselect. -- #size-cells : Either one or two, depending on how large each chipselect - can be. -- ranges : Each range corresponds to a single chipselect, and cover - the entire access window as configured. - -Example: - localbus@f0010100 { - compatible =3D "fsl,mpc8272-localbus", - "fsl,pq2-localbus"; - #address-cells =3D <2>; - #size-cells =3D <1>; - reg =3D <0xf0010100 0x40>; - - ranges =3D <0x0 0x0 0xfe000000 0x02000000 - 0x1 0x0 0xf4500000 0x00008000 - 0x2 0x0 0xfd810000 0x00010000>; - - flash@0,0 { - compatible =3D "jedec-flash"; - reg =3D <0x0 0x0 0x2000000>; - bank-width =3D <4>; - device-width =3D <1>; - }; - - board-control@1,0 { - reg =3D <0x1 0x0 0x20>; - compatible =3D "fsl,mpc8272ads-bcsr"; - }; - - simple-periph@2,0 { - compatible =3D "fsl,elbc-gpcm-uio"; - reg =3D <0x2 0x0 0x10000>; - elbc-gpcm-br =3D <0xfd810800>; - elbc-gpcm-or =3D <0xffff09f7>; - }; - }; --=20 2.51.0