Dne nedelja, 16. november 2025 ob 12:49:45 Srednjeevropski standardni čas je Krzysztof Kozlowski napisal(a): > On 16/11/2025 12:44, Jernej Škrabec wrote: > > Hi! > > > > Dne nedelja, 16. november 2025 ob 12:29:27 Srednjeevropski standardni čas > > je Krzysztof Kozlowski napisal(a): > >> On Sat, Nov 15, 2025 at 03:13:44PM +0100, Jernej Skrabec wrote: > >>> Allwinner Display Engine 3.3 contains planes, which are shared resources > >>> between all mixers present in SoC. They can be assigned to specific > >>> mixer by using registers which reside in display clocks MMIO. > >>> > >>> Add a binding for them. > >>> > >>> Signed-off-by: Jernej Skrabec <[email protected]> > >>> --- > >>> .../allwinner,sun50i-h616-de33-planes.yaml | 44 +++++++++++++++++++ > >>> 1 file changed, 44 insertions(+) > >>> create mode 100644 > >>> Documentation/devicetree/bindings/display/allwinner,sun50i-h616-de33-planes.yaml > >>> > >>> diff --git > >>> a/Documentation/devicetree/bindings/display/allwinner,sun50i-h616-de33-planes.yaml > >>> > >>> b/Documentation/devicetree/bindings/display/allwinner,sun50i-h616-de33-planes.yaml > >>> new file mode 100644 > >>> index 000000000000..801e5068a6b5 > >>> --- /dev/null > >>> +++ > >>> b/Documentation/devicetree/bindings/display/allwinner,sun50i-h616-de33-planes.yaml > >>> @@ -0,0 +1,44 @@ > >>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > >>> +%YAML 1.2 > >>> +--- > >>> +$id: > >>> http://devicetree.org/schemas/display/allwinner,sun50i-h616-de33-planes.yaml# > >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >>> + > >>> +title: Allwinner H616 Display Engine 3.3 planes > >>> + > >>> +maintainers: > >>> + - Jernej Skrabec <[email protected]> > >>> + > >>> +description: | > >> > >> Do not need '|' unless you need to preserve formatting. > >> > >>> + Display Engine 3.3 planes are independent of mixers, contrary to > >>> + previous generations of Display Engine. Planes can be assigned to > >>> + mixers independently and even dynamically during runtime. > >>> + > >>> +properties: > >>> + compatible: > >>> + enum: > >>> + - allwinner,sun50i-h616-de33-planes > >>> + > >>> + reg: > >>> + maxItems: 1 > >>> + > >>> + allwinner,plane-mapping: > >>> + $ref: /schemas/types.yaml#/definitions/phandle > >>> + description: Phandle of Display Engine clock node > >> > >> You description is almost duplicating property name. You need to explain > >> here how this device uses them. > > > > So I guess I can copy commit description here? It is needed to > > access registers from different core, so it can assign (map) > > planes between mixers at runtime. > > > "to assign (map) planes between mixers." is enough. > > But it looks unfortunately like a spaghetti. > > Your mixer binding references via phandle this planes. These planes > reference via phandle some other region to configure planes between mixers. > > Isn't this the job of this device?
It is a bit confusing, yes. There is no clean split in register space for some functionality. Register space for this node on H616 SoC represents 6 planes (each plane consist of framebuffer management, CSC unit, scaler, etc.) but not actual registers which tell to which mixer they are currently assigned. Best regards, Jernej
