From patchwork Fri Dec 29 11:20:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 183894 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp2505454dyb; Fri, 29 Dec 2023 03:21:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IH/W3WYe1DpGSKluD06vfspPd5P9Z+cMLfrP5aDa9wcI/cPiQpT4trbF8U91FJMDxrNAq61 X-Received: by 2002:a17:902:c408:b0:1d4:3cd4:23d1 with SMTP id k8-20020a170902c40800b001d43cd423d1mr14945925plk.96.1703848865369; Fri, 29 Dec 2023 03:21:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703848865; cv=none; d=google.com; s=arc-20160816; b=xHNBDTrKkeCA6IN2T0UZbc5LL7QsE3a84S9OySlRjcdFJ0d3hRHVG6RomcxAJj2NvK Wnx+VrUgoI7/9XY4mpX2OAcMItA1BjPjXbrCC4bW8QFBtUmpxbDPAWSa0v2k91jpQok2 Gkj0bqeRJ2t4lSSC07bv00+8GcS+CE4QsJnpZwAcO1IOLWAys5/8TnL7iFD4NkHCk/FP RGIbnEtd7F+Xyx2tq9cj3sC5B/6BPOzDtodfA6RzXTKY2gbbh85JCH49KdLh8hIpzeUw 9X/wQLe/3bANAU7oRwWD+22zhlZvQJXSOzrWX/PJfXFqC04ZOh1b0R/T07FSvSj5Rtam ZFcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=1KrXB2l1sK5WNrgL14b/nrn7vl1GLfrzGJcKXH5lPKk=; fh=Mu1HnY2UcA9BmcLO8GrVzAMlPO3B8AXeqScNjkurIsQ=; b=qgXnSnNEb9vfsNLcF6/m4Q/IyunTvkKj90/Q4bBECHoqSzo1+uixSX6AK3hRSpwG/h kTYiLbLv2+FDA+uNmS5mLsZYg8QcEy5oKiZz/Tbga8xsUEKl/cxpklG7LNxHSLD+G82W Vdwo7rytPUMROB4648RJkhIueDLnhx1865Z6FYtdwpYUEfWHi2AVJc68iB3n38MnkaxX /e2KWO9bn4ftZdyOfdZUFrEwUhfDIRDMK8nNeT5DzPpjG0GYcY53crQRGuoBBgMpDD6+ 9yaaBWrrAWSZQOYDEV3xMGdEK0iiH9Kh1bEC0+pIavAwnweQxgk3l6teJOjS6AN6HoLY IwmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=ixNiOcSP; spf=pass (google.com: domain of linux-kernel+bounces-13057-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13057-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id p8-20020a170902e74800b001d41eb814b8si12349628plf.149.2023.12.29.03.21.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 03:21:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-13057-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=ixNiOcSP; spf=pass (google.com: domain of linux-kernel+bounces-13057-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13057-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id DD69F2830B0 for ; Fri, 29 Dec 2023 11:21:04 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 21E0911717; Fri, 29 Dec 2023 11:20:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="ixNiOcSP" X-Original-To: linux-kernel@vger.kernel.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (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 0923F10A36 for ; Fri, 29 Dec 2023 11:20:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1703848836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1KrXB2l1sK5WNrgL14b/nrn7vl1GLfrzGJcKXH5lPKk=; b=ixNiOcSPokN9cX+W/XxReLRZAbVKPkI8vm5P/MafrQEPBczpdrvIgb+TWS9QGvSaSbnTEZ MbZFvr6BKDlqWfUDVqkoi/wfR+jKIjHza446laC1kqCPpSPFkYFAG/rJi9LyDSVXftNZgp EJi06Fz7Ku2xo0mTp4ApGeWqOamLzJE= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-364--H0b8nPYN2OJdGivHZ9q2A-1; Fri, 29 Dec 2023 06:20:34 -0500 X-MC-Unique: -H0b8nPYN2OJdGivHZ9q2A-1 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-40d27ea0165so63819785e9.1 for ; Fri, 29 Dec 2023 03:20:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703848833; x=1704453633; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1KrXB2l1sK5WNrgL14b/nrn7vl1GLfrzGJcKXH5lPKk=; b=VpF+fuJDN+wuPzQGFYWLTNuc5aa2YjsY+ClL4aYBzkVX3ycz/GY1UbZ3+YSKJkl5fq 10B+OSW6ZqHxDuFuXLHlivkjlqX7MbkbHxTbMIe8p+euCPEc8KOw5U7yOS3mO0EenCOF 11K4ruG4U3a3yceDi6DkFi8vXr0hnrls81eunyOOLS82hYyLIiwkYG/MNbwUjUp0c1V4 Hn+X7+A8bfWV0xg/PQp6lrKTbA6AsO1YWL0MaGGlXSETqkGgziqFdT11RgjXcYXn9Jca 3FrvNDudwu2A3z0xc85+wmnpEf/UbdqskOrpalG2+e2UXyM2Rm0EQ4zW/f9W/5iNnTKU UxXQ== X-Gm-Message-State: AOJu0YzrqpJ3tf1UYphHVnXw6vc9NN1oamWZyh9dvuOOUWsSKyDJX0Se gW7S2O6Y0xed+zrwHyiwrXoiVvl+OyqoCuiXzeHVyYQMPUdxcOgTWZKm0jYYi1fAJcxyC5zJzHc CAacevdd/gQk29OlqbFnZYGqFGY70aXdsfMbw6JVqw9MYwB0BDOIgUijU7mxZzroDglwecsvbg8 FtFdF5zWzYlLIIq14= X-Received: by 2002:a05:600c:5006:b0:40d:5f3e:f058 with SMTP id n6-20020a05600c500600b0040d5f3ef058mr1970534wmr.179.1703848832863; Fri, 29 Dec 2023 03:20:32 -0800 (PST) X-Received: by 2002:a05:600c:5006:b0:40d:5f3e:f058 with SMTP id n6-20020a05600c500600b0040d5f3ef058mr1970510wmr.179.1703848832437; Fri, 29 Dec 2023 03:20:32 -0800 (PST) Received: from localhost (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id p35-20020a05600c1da300b0040b360cc65csm31388976wms.0.2023.12.29.03.20.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 03:20:31 -0800 (PST) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , Rob Herring , Thomas Zimmermann , Maxime Ripard , Geert Uytterhoeven , Jocelyn Falempe , Conor Dooley , Peter Robinson , Javier Martinez Canillas , Conor Dooley , Daniel Vetter , David Airlie , Krzysztof Kozlowski , Maarten Lankhorst , Rob Herring , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: [PATCH v5 1/4] dt-bindings: display: ssd1307fb: Add vendor prefix to width and height Date: Fri, 29 Dec 2023 12:20:18 +0100 Message-ID: <20231229112026.2797483-2-javierm@redhat.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231229112026.2797483-1-javierm@redhat.com> References: <20231229112026.2797483-1-javierm@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786615027834569108 X-GMAIL-MSGID: 1786615027834569108 The commit 591825fba8a2 ("dt-bindings: display: ssd1307fb: Remove default width and height values") used the wrong properties for width and height, instead of the correct "solomon,width" and "solomon,height" properties. Fix this by adding the vendor prefix to the width and height properties. Fixes: 591825fba8a2 ("dt-bindings: display: ssd1307fb: Remove default width and height values") Reported-by: Conor Dooley Closes: https://lore.kernel.org/dri-devel/20231218-example-envision-b41ca8efa251@spud/ Signed-off-by: Javier Martinez Canillas Acked-by: Rob Herring --- (no changes since v1) .../bindings/display/solomon,ssd1307fb.yaml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Documentation/devicetree/bindings/display/solomon,ssd1307fb.yaml b/Documentation/devicetree/bindings/display/solomon,ssd1307fb.yaml index 3afbb52d1b7f..153ff86fb405 100644 --- a/Documentation/devicetree/bindings/display/solomon,ssd1307fb.yaml +++ b/Documentation/devicetree/bindings/display/solomon,ssd1307fb.yaml @@ -131,9 +131,9 @@ allOf: const: sinowealth,sh1106 then: properties: - width: + solomon,width: default: 132 - height: + solomon,height: default: 64 solomon,dclk-div: default: 1 @@ -149,9 +149,9 @@ allOf: - solomon,ssd1305 then: properties: - width: + solomon,width: default: 132 - height: + solomon,height: default: 64 solomon,dclk-div: default: 1 @@ -167,9 +167,9 @@ allOf: - solomon,ssd1306 then: properties: - width: + solomon,width: default: 128 - height: + solomon,height: default: 64 solomon,dclk-div: default: 1 @@ -185,9 +185,9 @@ allOf: - solomon,ssd1307 then: properties: - width: + solomon,width: default: 128 - height: + solomon,height: default: 39 solomon,dclk-div: default: 2 @@ -205,9 +205,9 @@ allOf: - solomon,ssd1309 then: properties: - width: + solomon,width: default: 128 - height: + solomon,height: default: 64 solomon,dclk-div: default: 1 From patchwork Fri Dec 29 11:20:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 183896 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp2505709dyb; Fri, 29 Dec 2023 03:21:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IGqDJ68A2Z4CmjWdx8HCOwIYaddb/ea3VhrEY8xcg18HPsVB+QmgfbCU2YGfTaU/qlLfc2P X-Received: by 2002:a05:6a00:6c9a:b0:6d9:b8fe:eee7 with SMTP id jc26-20020a056a006c9a00b006d9b8feeee7mr10168284pfb.8.1703848906110; Fri, 29 Dec 2023 03:21:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703848906; cv=none; d=google.com; s=arc-20160816; b=MSq5GB7uCtdpTM5nzlLeOD/ebcOi1zD9CT3UzURyEbkKvebCYSakmySK2/eU9M9n6H EjPUW9Ph+e/hjjSR1QeaEaIWmcch4RLgL+f8TMONexOufD5bre/IKX32tCsnDJRnnPq9 MCukxtjWrDRwc/P0FVt3V0FrmvdWoEZ6DTkqstSUMRpGCQxXmT7iLQLWFBCALueXjXBM Ng82oSGkUNOzqagKgf4evnGvPBXY6dLxAMhCXcF4+Jag/CJuwZetVk9MEBMr8jemay5q 6ww6Xg4NBuwvDsUYbimj44bJlmzfFFIgLOCsR4dJeQ/soHLsm6edwhKjywj1URkB9wH6 WpWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=LGLVCef4QzbvTALYo2ea2BIkPY+CGFifWhpyQpWq1Uc=; fh=Mu1HnY2UcA9BmcLO8GrVzAMlPO3B8AXeqScNjkurIsQ=; b=T3td2fQJnVJLxmBeJlNgabJYZiz+NJOWIgMRyKr0wBEJ+6UBHn7G29vU8ODoIGh+oP gYpV5axa2JLJulZeAdrrvO1q7wxbJxHCTJQmE/uX7sed9BjdXfMSzq9MX3JC58+NXyKf MOoZJNQ/pQtNTsscdRQ1DXqpyRGFmLWXNncBquMvwMoPgfMeKawJWBY1HDe6aVauaCok REvSWMyp/GmRvtQofBjcWyOWYrQnq7nEmkJOh3yE3cXjC3iZdEpg+sMdrkCu8pWgGfQr 9uy03TM4sQelF9BCqLaN5luU5YKJsalWHRlM+o3l1WULWGAuL5mLu3R/ivHC37Zjprbd tlGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="V/kC5OLc"; spf=pass (google.com: domain of linux-kernel+bounces-13060-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13060-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id l135-20020a633e8d000000b005cdf9c8000asi12062777pga.147.2023.12.29.03.21.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 03:21:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-13060-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="V/kC5OLc"; spf=pass (google.com: domain of linux-kernel+bounces-13060-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13060-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id D25F7283836 for ; Fri, 29 Dec 2023 11:21:45 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DA68B125A4; Fri, 29 Dec 2023 11:20:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="V/kC5OLc" X-Original-To: linux-kernel@vger.kernel.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (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 0337911C80 for ; Fri, 29 Dec 2023 11:20:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1703848843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LGLVCef4QzbvTALYo2ea2BIkPY+CGFifWhpyQpWq1Uc=; b=V/kC5OLcoE8v01sE3bS8rdMBOFqWt4BA+OmmE7Q9qTBYp8HZ4HN8dWQhTuBUEchIqddIpN 29AuZDKjiC5ulJRk5Zaiiv/vcte/Qw/b4kMHdC1dymK+8+8oA4gePaAY4AHgXXR06c9P+m 0IrOy0L3mf1yMLUUZ1Kw4XOtIOziNJI= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-692-6oFwvhK6PPi7HLiFOMeUmw-1; Fri, 29 Dec 2023 06:20:36 -0500 X-MC-Unique: 6oFwvhK6PPi7HLiFOMeUmw-1 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-40d76064581so2764825e9.0 for ; Fri, 29 Dec 2023 03:20:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703848834; x=1704453634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LGLVCef4QzbvTALYo2ea2BIkPY+CGFifWhpyQpWq1Uc=; b=t7sXaj30HyoQAhSmwjKWNNSeir8ZjC20fQU9ozBMjq6S+ewS0JfGQasadDLnOOb5/W Qm9GbcRL3EdGyaI1kY6C46CgAK/HCPpORUiB2iXwF4EicSkGHN/3Aoe14ZzNpO2Ydpav JnGs2MO6cvW/TvrjOKw2sGiRFHNMSQiqsTdh0SsNrbL9FhG31lgNg1Ek+c9T/HlWT+NQ JuZMgjFe1DQR/i3wIyZIDfiCMv0iJ0oeWWnU+HLwsxsxG4QoUFMx1ajiAjAsg5Dm9ZMc wLGahsDAB5Ouzx9m7i/p7woYBcY589FA1jC3UmudtQ2sUuM0MsbyPGJzQYn6sLQQsPtL sQ0A== X-Gm-Message-State: AOJu0YycKd4+EkILwM953+1HUEktHRoAIHi3Ej8pv135u939FkfGnSnE IyhYOFSWngIwGDDEL8XgR8SxE7OJ5xl3/ekN0qg0ndEYF8E6vCfHUnYELvvoRTJcrvbfyYEleh3 E/fzxMsT41Wxl1SLnK8QZcHfd5PEmlthuLs+VlSuac1LTxpG+6bVp6EiTSHhd7wht4WWlpPaSnE L4mTsxj8Lw/EwAPPY= X-Received: by 2002:a05:600c:4510:b0:40d:5722:2a0f with SMTP id t16-20020a05600c451000b0040d57222a0fmr4261010wmo.48.1703848834507; Fri, 29 Dec 2023 03:20:34 -0800 (PST) X-Received: by 2002:a05:600c:4510:b0:40d:5722:2a0f with SMTP id t16-20020a05600c451000b0040d57222a0fmr4260983wmo.48.1703848834168; Fri, 29 Dec 2023 03:20:34 -0800 (PST) Received: from localhost (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id m19-20020a05600c4f5300b0040d5b849f38sm11297188wmq.0.2023.12.29.03.20.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 03:20:33 -0800 (PST) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , Rob Herring , Thomas Zimmermann , Maxime Ripard , Geert Uytterhoeven , Jocelyn Falempe , Conor Dooley , Peter Robinson , Javier Martinez Canillas , Conor Dooley , Daniel Vetter , David Airlie , Krzysztof Kozlowski , Maarten Lankhorst , Rob Herring , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: [PATCH v5 2/4] dt-bindings: display: ssd132x: Add vendor prefix to width and height Date: Fri, 29 Dec 2023 12:20:19 +0100 Message-ID: <20231229112026.2797483-3-javierm@redhat.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231229112026.2797483-1-javierm@redhat.com> References: <20231229112026.2797483-1-javierm@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786615070477536708 X-GMAIL-MSGID: 1786615070477536708 Commit 2d23e7d6bacb ("dt-bindings: display: Add SSD132x OLED controllers") used the wrong properties for width and height, instead of the correct "solomon,width" and "solomon,height" properties. Fix this by adding the vendor prefix to the width and height properties. Fixes: 2d23e7d6bacb ("dt-bindings: display: Add SSD132x OLED controllers") Reported-by: Conor Dooley Closes: https://lore.kernel.org/dri-devel/20231218-example-envision-b41ca8efa251@spud/ Signed-off-by: Javier Martinez Canillas Acked-by: Rob Herring --- (no changes since v1) .../devicetree/bindings/display/solomon,ssd132x.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Documentation/devicetree/bindings/display/solomon,ssd132x.yaml b/Documentation/devicetree/bindings/display/solomon,ssd132x.yaml index 37975ee61c5a..dd7939989cf4 100644 --- a/Documentation/devicetree/bindings/display/solomon,ssd132x.yaml +++ b/Documentation/devicetree/bindings/display/solomon,ssd132x.yaml @@ -30,9 +30,9 @@ allOf: const: solomon,ssd1322 then: properties: - width: + solomon,width: default: 480 - height: + solomon,height: default: 128 - if: @@ -42,9 +42,9 @@ allOf: const: solomon,ssd1325 then: properties: - width: + solomon,width: default: 128 - height: + solomon,height: default: 80 - if: @@ -54,9 +54,9 @@ allOf: const: solomon,ssd1327 then: properties: - width: + solomon,width: default: 128 - height: + solomon,height: default: 128 unevaluatedProperties: false From patchwork Fri Dec 29 11:20:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 183897 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp2505743dyb; Fri, 29 Dec 2023 03:21:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IGrcKtTTP2dtTV06x+/mAwsc5yaMMLNgfmXndYq24JMAXtXc/EV9t1dMnZnTWGxRb1HdoVQ X-Received: by 2002:a9d:66c7:0:b0:6db:a0e9:f248 with SMTP id t7-20020a9d66c7000000b006dba0e9f248mr7880487otm.37.1703848913861; Fri, 29 Dec 2023 03:21:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703848913; cv=none; d=google.com; s=arc-20160816; b=X+ZzwUjtj0la/J5qxXf7+7R/pVDcQTufjzimWllqwIMhvjqvT6E1LU9eU+hhIdk3bV n1ycl4lxLrZlCitMI8KxcfmywwILKhR1P81lNMifsG9zBG6XZVRD7Uhw+UgoezQteb4S L0X87m1vBAl3kSQhMAWX2LUDllfMx5F3hz0JASLJqLLUoS1mj6f1Kk44ekBqwCqkyFSU yf/I5HJ/+dOenOaLUQ+yl303Bwt65lGvtFTFD2V4HdvP6pLAMCTyBTjM2+/B5jy7Kh1i kZJ26tYdxvKchMecFp56M1oCi9SVieNpMTPwdehXFReEkRBnLenfOtGwPpiong/w1xaO aw+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=lSLqHCf+PCh+kG7eprKkh+p3h0FyLiC3U9qCESwxHTc=; fh=Mu1HnY2UcA9BmcLO8GrVzAMlPO3B8AXeqScNjkurIsQ=; b=mJ9bLTSikPP2FkW7lpacmtUZmX95dq15UU91/m7RiJ0J9pHfnOUSzMScXN1MuiSD7y ImwNl1zVQ5ZHkr5qWcDBw47UO02CYPpck3u5tPdOan2yp4c39sbVdrwkq85g3q6CNJ0F 1ev3a3LjZG7AheBFsYUiZ+vfh0/xcKCFsYE7oyCz8ZFcjsuqpxgbSMGNF+/qrnVsON0k fkvBSHhwspZHC0JQGIaPMbDUXnz5zWClpE5o+Uo1pDYRaQr/HtpcSFrS+t8OArLhmuQx AqNOGGj09B+TLic788QMbphB+txMjv8c6fYPEUtKmXZqQ2JuiQ5fMAZh8WnKUxELfCaF 2lpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=GEBiAZIF; spf=pass (google.com: domain of linux-kernel+bounces-13058-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13058-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id t18-20020a6564d2000000b005cdf55c924esi12090188pgv.750.2023.12.29.03.21.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 03:21:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-13058-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=GEBiAZIF; spf=pass (google.com: domain of linux-kernel+bounces-13058-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13058-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 69AB2B2280A for ; Fri, 29 Dec 2023 11:21:19 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 62C6811C89; Fri, 29 Dec 2023 11:20:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="GEBiAZIF" X-Original-To: linux-kernel@vger.kernel.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 8933811710 for ; Fri, 29 Dec 2023 11:20:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1703848839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lSLqHCf+PCh+kG7eprKkh+p3h0FyLiC3U9qCESwxHTc=; b=GEBiAZIFQ6IWa5Z94sb54LpNcBMWF0d3zbpRASNy8QAegWWdDuy8T5eamcmZ8eS5+5dmW7 APBo2XjhcUT/0503YaSQTqumheRlG7QThuodwO+PxjsU5V7KtVlVOB7kAXmQH71VKpke8+ XzPBKzx0jriKD48+wXUulUsUMNVTRaY= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-457-C5vwgMMTPm6YM_vQsCZg2A-1; Fri, 29 Dec 2023 06:20:38 -0500 X-MC-Unique: C5vwgMMTPm6YM_vQsCZg2A-1 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-40d54db2ab5so45083685e9.2 for ; Fri, 29 Dec 2023 03:20:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703848836; x=1704453636; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lSLqHCf+PCh+kG7eprKkh+p3h0FyLiC3U9qCESwxHTc=; b=TXDFm8ZVQ7Q+Mti9TxfoeD9XeMlga/i2eQa/er6rb1iiq7p3lwxiMoNjYhTQOLD7Lu PpJ62UVbkQrSnz7xfcoi0vofLbIomg6GJdHSiQoOxNLPZ3unuSDzgTscX/nHq/TwUUPt rYCuAfNkmIUtt9UfvwX4BgsBCRyouWUSGQFHMuY1nrhpfCcwpM5C1PmEJHqP6ix5qZIc WiyGG8RsG5AgJTZAqPWhBgwyYc6YhlF/56Vf1RSKhyID9BE05rEdQs8PU17RIj09ppwI GVAigRFgilZBIiYMgcSlfH/L8JHLU9N/g1j4V30CGhDJowraIyoO4pp/JWKzT6g6XTDH wJkw== X-Gm-Message-State: AOJu0YwyV2jDq+Li66yoBfzSMj49On6FFvxMxomaM2hripK9366Ktcut AUSEehQHPMJpMeTKCppIguZe58J+VSA8WLNQRUgNRMm2kMbvEu35lY/lYzP5LllpKg3gsq2c+qW bFv4FprOWxnrm4khRojUAt3Q0c83dS9EaygrHLgPR3NdJhm4z0zlIbppZ9ecSNPvahyOZuB92tL tZXSrTdOCfgTtP9NI= X-Received: by 2002:a05:600c:4e47:b0:40d:593f:63e5 with SMTP id e7-20020a05600c4e4700b0040d593f63e5mr2848676wmq.7.1703848836427; Fri, 29 Dec 2023 03:20:36 -0800 (PST) X-Received: by 2002:a05:600c:4e47:b0:40d:593f:63e5 with SMTP id e7-20020a05600c4e4700b0040d593f63e5mr2848655wmq.7.1703848836196; Fri, 29 Dec 2023 03:20:36 -0800 (PST) Received: from localhost (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id q11-20020a05600c46cb00b0040d2d33312csm30532067wmo.2.2023.12.29.03.20.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 03:20:35 -0800 (PST) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , Rob Herring , Thomas Zimmermann , Maxime Ripard , Geert Uytterhoeven , Jocelyn Falempe , Conor Dooley , Peter Robinson , Javier Martinez Canillas , Conor Dooley , Daniel Vetter , David Airlie , Krzysztof Kozlowski , Maarten Lankhorst , Rob Herring , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: [PATCH v5 3/4] dt-bindings: display: Add SSD133x OLED controllers Date: Fri, 29 Dec 2023 12:20:20 +0100 Message-ID: <20231229112026.2797483-4-javierm@redhat.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231229112026.2797483-1-javierm@redhat.com> References: <20231229112026.2797483-1-javierm@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786615078388304893 X-GMAIL-MSGID: 1786615078388304893 Add a Device Tree binding schema for the OLED panels based on the Solomon SSD133x family of controllers. Signed-off-by: Javier Martinez Canillas Reviewed-by: Rob Herring --- Changes in v5: - Drop I2C example in DT binding schema due that bus not being supported. Changes in v3: - Move solomon,ssd-common.yaml ref before the properties section and width/height constraints after the other properties (Conor Dooley). Changes in v2: - Unconditionally set the width and height constraints (Conor Dooley). - Fix indentation in the DTS examples (Krzysztof Kozlowski). .../bindings/display/solomon,ssd133x.yaml | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/solomon,ssd133x.yaml diff --git a/Documentation/devicetree/bindings/display/solomon,ssd133x.yaml b/Documentation/devicetree/bindings/display/solomon,ssd133x.yaml new file mode 100644 index 000000000000..b7780038a34b --- /dev/null +++ b/Documentation/devicetree/bindings/display/solomon,ssd133x.yaml @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/solomon,ssd133x.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Solomon SSD133x OLED Display Controllers + +maintainers: + - Javier Martinez Canillas + +allOf: + - $ref: solomon,ssd-common.yaml# + +properties: + compatible: + enum: + - solomon,ssd1331 + + solomon,width: + default: 96 + + solomon,height: + default: 64 + +required: + - compatible + - reg + +unevaluatedProperties: false + +examples: + - | + spi { + #address-cells = <1>; + #size-cells = <0>; + + oled@0 { + compatible = "solomon,ssd1331"; + reg = <0x0>; + reset-gpios = <&gpio2 7>; + dc-gpios = <&gpio2 8>; + spi-max-frequency = <10000000>; + }; + }; From patchwork Fri Dec 29 11:20:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 183895 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp2505653dyb; Fri, 29 Dec 2023 03:21:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IFd/9SgeUmNLUgjy6vabGzPoPRJNcgpX+1qqXWvwWVIEHRbm6RO8W3iLTOFIqtKJvMx7Y1R X-Received: by 2002:a05:6a20:8f1c:b0:191:bc5f:e803 with SMTP id b28-20020a056a208f1c00b00191bc5fe803mr15060035pzk.72.1703848899244; Fri, 29 Dec 2023 03:21:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703848899; cv=none; d=google.com; s=arc-20160816; b=JcTDCdcVcdDJkx7xO8QBISZ+apa4osg51xdlQqyNEDlx59CBX2mAhSTNwRB4/gWFBA kv/5k/WH3IYzIfLXx0zVUCZ4QGJoeaopwLwSuLsKO2k+RRq6W14jqa1lvLXCqhFX8P4+ NOUFFU7LNIvNwrGcx8/jcPPw/OZ78B1KMNb7pwFFQF0F7wK71t3luiEFXDVBrx2/jRvb pvUe1uT4Ntfin6MHg4jM7znzWyZNVkec+JU+Hq9zjvemUAcAUmTo1bo1KlOuxgrdtOuR VvBDLoDYUUIzwh6wWZBh6lvIRvQ8fN13CCvcEX3JUAF/A0/a/TCDWmBNZe4xdVLl3t// ax+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=3yP6nYwuylyO9U3jA/iHF6oUJjOOiuIY4CHVthtfbuI=; fh=cUlaEocCUfIyfXH2YipYUM1i4MLZ2svbB8FhjkTO+qc=; b=oxfltrtXctPcyMIR5tyjK1cttExRyUDoqrmLLPzq2pHNTVZVI6xU2DEqu9aj1ihcf9 myNJm6/Nl4sXxuVaIFYGi/d2TVrLCJtzXV0HV+9PAJ6GehcpH9touny9gB1DVnrzGn/a b9q6lr3T/7H1jVlwkL87b6T+/MnV26bnQftHbELT7y9XIvHcY/vtMgscUlL7XiRLYR26 hUhJtIxge1OT66gZw9t+lz//wYMm4h12m/fWFC18y6nFVFKNlnFuieJsBawavEQgzMse OINgQSO3hw6089abgsw92C/f0nrpkEFc52/0zgDmrBlkYq2tWQH2Z4+1+rDUZADqrAVe fgCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=JzTDlj3A; spf=pass (google.com: domain of linux-kernel+bounces-13059-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13059-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id l135-20020a633e8d000000b005cdf9c8000asi12062777pga.147.2023.12.29.03.21.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 03:21:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-13059-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=JzTDlj3A; spf=pass (google.com: domain of linux-kernel+bounces-13059-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13059-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 02654282A7E for ; Fri, 29 Dec 2023 11:21:39 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E75F611CB6; Fri, 29 Dec 2023 11:20:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="JzTDlj3A" X-Original-To: linux-kernel@vger.kernel.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (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 623DA11726 for ; Fri, 29 Dec 2023 11:20:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1703848841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3yP6nYwuylyO9U3jA/iHF6oUJjOOiuIY4CHVthtfbuI=; b=JzTDlj3AWFYDD9SjoELNQhIIwRh/KF+y3i9MPmuqrQAv94AtzQlFfpb9yBQqaS0ryygPFn DXog6+VEkNbS7nBO65HCS8Fmm/nW8c8la/J4gGD/MCgbP/pkYwuQ099rto/BYVi9p5VOl3 D0Vt7ZTzX1y9c2E5k+BwnFLQlXQrdmA= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-18-XHcO7iOdMGuSZUHvuJedLQ-1; Fri, 29 Dec 2023 06:20:39 -0500 X-MC-Unique: XHcO7iOdMGuSZUHvuJedLQ-1 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-40d3f53ca2aso35088295e9.0 for ; Fri, 29 Dec 2023 03:20:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703848838; x=1704453638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3yP6nYwuylyO9U3jA/iHF6oUJjOOiuIY4CHVthtfbuI=; b=iJPJntS4zw+juQ18vYN95MGTCdOWmYNa1Y7fCMqkmhJWmp7CT3LQVIU3ZBgW3bTKbF LVuDTgiYG6341/RJImkWhvQ8Q/uyY4dWX41hhkxr1t3LOOyNmxHJ7VVZkaKiQl73ZiGE DzGBOHYaEOr16fSphpkFZj0AKi3WuVC/E8u1n7tCxquMTio8UhpHghd5U+GK3ekt1V8B 2vrYQQOt0CIHQe5CaQYRDk3PEt1ejJkWHW6jZ6RokyWV11W6epHrAmzqDf7P/w/yFzFz Zrcvbn3nSwseBo7O1quTwJnqzcLz8ZC7Wb4QWNRqeE63aDozF9mB89VLNLQ+fna4XBiD ZaHw== X-Gm-Message-State: AOJu0YxzcnFSJlnGn6wzkFP86PpyLax6WRUeHreZNA5fTXhmPXB67+me KIgBbzg8Yl7xKvRWIEJPY+6z1gMcgpJH/9cQlPOl/p1BqqMc7gIITiqqzrUf3cAL6zyQdL6co7h WhXL9VvatLWrhowf++9vT/nv+Kd04pjl4pg3g7rMwTDtytfXZlt2kITnQQzqHYv4+Qv8MUn/WEY 1sco1wNzGxlnk+yN4= X-Received: by 2002:a05:600c:5014:b0:40d:5ecd:8f6b with SMTP id n20-20020a05600c501400b0040d5ecd8f6bmr2001465wmr.177.1703848838022; Fri, 29 Dec 2023 03:20:38 -0800 (PST) X-Received: by 2002:a05:600c:5014:b0:40d:5ecd:8f6b with SMTP id n20-20020a05600c501400b0040d5ecd8f6bmr2001446wmr.177.1703848837726; Fri, 29 Dec 2023 03:20:37 -0800 (PST) Received: from localhost (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id v8-20020a05600c444800b0040c2c5f5844sm30444522wmn.21.2023.12.29.03.20.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 03:20:37 -0800 (PST) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , Rob Herring , Thomas Zimmermann , Maxime Ripard , Geert Uytterhoeven , Jocelyn Falempe , Conor Dooley , Peter Robinson , Javier Martinez Canillas , Daniel Vetter , David Airlie , Maarten Lankhorst , dri-devel@lists.freedesktop.org Subject: [PATCH v5 4/4] drm/ssd130x: Add support for the SSD133x OLED controller family Date: Fri, 29 Dec 2023 12:20:21 +0100 Message-ID: <20231229112026.2797483-5-javierm@redhat.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231229112026.2797483-1-javierm@redhat.com> References: <20231229112026.2797483-1-javierm@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786615063356765955 X-GMAIL-MSGID: 1786615063356765955 The Solomon SSD133x controllers (such as the SSD1331) are used by RGB dot matrix OLED panels, add a modesetting pipeline to support the chip family. The SSD133x controllers support 256 (8-bit) and 65k (16-bit) color depths but only the 256-color mode (DRM_FORMAT_RGB332) is implemented for now. Signed-off-by: Javier Martinez Canillas Reviewed-by: Jocelyn Falempe --- Changes in v5: - Drop "solomon,ssd1331" entry from ssd130x-i2c due I2C bus not being supported. Changes in v4: - Fix typo in commit message (Jocelyn Falempe). drivers/gpu/drm/solomon/ssd130x-spi.c | 7 + drivers/gpu/drm/solomon/ssd130x.c | 370 ++++++++++++++++++++++++++ drivers/gpu/drm/solomon/ssd130x.h | 5 +- 3 files changed, 381 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/solomon/ssd130x-spi.c b/drivers/gpu/drm/solomon/ssd130x-spi.c index 84e035a7ab3f..84bfde31d172 100644 --- a/drivers/gpu/drm/solomon/ssd130x-spi.c +++ b/drivers/gpu/drm/solomon/ssd130x-spi.c @@ -142,6 +142,11 @@ static const struct of_device_id ssd130x_of_match[] = { .compatible = "solomon,ssd1327", .data = &ssd130x_variants[SSD1327_ID], }, + /* ssd133x family */ + { + .compatible = "solomon,ssd1331", + .data = &ssd130x_variants[SSD1331_ID], + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, ssd130x_of_match); @@ -166,6 +171,8 @@ static const struct spi_device_id ssd130x_spi_table[] = { { "ssd1322", SSD1322_ID }, { "ssd1325", SSD1325_ID }, { "ssd1327", SSD1327_ID }, + /* ssd133x family */ + { "ssd1331", SSD1331_ID }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(spi, ssd130x_spi_table); diff --git a/drivers/gpu/drm/solomon/ssd130x.c b/drivers/gpu/drm/solomon/ssd130x.c index bef293922b98..447d0c7c88c6 100644 --- a/drivers/gpu/drm/solomon/ssd130x.c +++ b/drivers/gpu/drm/solomon/ssd130x.c @@ -119,6 +119,26 @@ #define SSD130X_SET_VCOMH_VOLTAGE 0xbe #define SSD132X_SET_FUNCTION_SELECT_B 0xd5 +/* ssd133x commands */ +#define SSD133X_SET_COL_RANGE 0x15 +#define SSD133X_SET_ROW_RANGE 0x75 +#define SSD133X_CONTRAST_A 0x81 +#define SSD133X_CONTRAST_B 0x82 +#define SSD133X_CONTRAST_C 0x83 +#define SSD133X_SET_MASTER_CURRENT 0x87 +#define SSD132X_SET_PRECHARGE_A 0x8a +#define SSD132X_SET_PRECHARGE_B 0x8b +#define SSD132X_SET_PRECHARGE_C 0x8c +#define SSD133X_SET_DISPLAY_START 0xa1 +#define SSD133X_SET_DISPLAY_OFFSET 0xa2 +#define SSD133X_SET_DISPLAY_NORMAL 0xa4 +#define SSD133X_SET_MASTER_CONFIG 0xad +#define SSD133X_POWER_SAVE_MODE 0xb0 +#define SSD133X_PHASES_PERIOD 0xb1 +#define SSD133X_SET_CLOCK_FREQ 0xb3 +#define SSD133X_SET_PRECHARGE_VOLTAGE 0xbb +#define SSD133X_SET_VCOMH_VOLTAGE 0xbe + #define MAX_CONTRAST 255 const struct ssd130x_deviceinfo ssd130x_variants[] = { @@ -180,6 +200,12 @@ const struct ssd130x_deviceinfo ssd130x_variants[] = { .default_width = 128, .default_height = 128, .family_id = SSD132X_FAMILY, + }, + /* ssd133x family */ + [SSD1331_ID] = { + .default_width = 96, + .default_height = 64, + .family_id = SSD133X_FAMILY, } }; EXPORT_SYMBOL_NS_GPL(ssd130x_variants, DRM_SSD130X); @@ -589,6 +615,117 @@ static int ssd132x_init(struct ssd130x_device *ssd130x) return 0; } +static int ssd133x_init(struct ssd130x_device *ssd130x) +{ + int ret; + + /* Set color A contrast */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_CONTRAST_A, 0x91); + if (ret < 0) + return ret; + + /* Set color B contrast */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_CONTRAST_B, 0x50); + if (ret < 0) + return ret; + + /* Set color C contrast */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_CONTRAST_C, 0x7d); + if (ret < 0) + return ret; + + /* Set master current */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_SET_MASTER_CURRENT, 0x06); + if (ret < 0) + return ret; + + /* Set column start and end */ + ret = ssd130x_write_cmd(ssd130x, 3, SSD133X_SET_COL_RANGE, 0x00, ssd130x->width - 1); + if (ret < 0) + return ret; + + /* Set row start and end */ + ret = ssd130x_write_cmd(ssd130x, 3, SSD133X_SET_ROW_RANGE, 0x00, ssd130x->height - 1); + if (ret < 0) + return ret; + + /* + * Horizontal Address Increment + * Normal order SA,SB,SC (e.g. RGB) + * COM Split Odd Even + * 256 color format + */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD13XX_SET_SEG_REMAP, 0x20); + if (ret < 0) + return ret; + + /* Set display start and offset */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_SET_DISPLAY_START, 0x00); + if (ret < 0) + return ret; + + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_SET_DISPLAY_OFFSET, 0x00); + if (ret < 0) + return ret; + + /* Set display mode normal */ + ret = ssd130x_write_cmd(ssd130x, 1, SSD133X_SET_DISPLAY_NORMAL); + if (ret < 0) + return ret; + + /* Set multiplex ratio value */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD13XX_SET_MULTIPLEX_RATIO, ssd130x->height - 1); + if (ret < 0) + return ret; + + /* Set master configuration */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_SET_MASTER_CONFIG, 0x8e); + if (ret < 0) + return ret; + + /* Set power mode */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_POWER_SAVE_MODE, 0x0b); + if (ret < 0) + return ret; + + /* Set Phase 1 and 2 period */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_PHASES_PERIOD, 0x31); + if (ret < 0) + return ret; + + /* Set clock divider */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_SET_CLOCK_FREQ, 0xf0); + if (ret < 0) + return ret; + + /* Set pre-charge A */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD132X_SET_PRECHARGE_A, 0x64); + if (ret < 0) + return ret; + + /* Set pre-charge B */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD132X_SET_PRECHARGE_B, 0x78); + if (ret < 0) + return ret; + + /* Set pre-charge C */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD132X_SET_PRECHARGE_C, 0x64); + if (ret < 0) + return ret; + + /* Set pre-charge level */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_SET_PRECHARGE_VOLTAGE, 0x3a); + if (ret < 0) + return ret; + + /* Set VCOMH voltage */ + ret = ssd130x_write_cmd(ssd130x, 2, SSD133X_SET_VCOMH_VOLTAGE, 0x3e); + if (ret < 0) + return ret; + + return 0; +} + static int ssd130x_update_rect(struct ssd130x_device *ssd130x, struct drm_rect *rect, u8 *buf, u8 *data_array) @@ -753,6 +890,47 @@ static int ssd132x_update_rect(struct ssd130x_device *ssd130x, return ret; } +static int ssd133x_update_rect(struct ssd130x_device *ssd130x, + struct drm_rect *rect, u8 *data_array, + unsigned int pitch) +{ + unsigned int x = rect->x1; + unsigned int y = rect->y1; + unsigned int columns = drm_rect_width(rect); + unsigned int rows = drm_rect_height(rect); + int ret; + + /* + * The screen is divided in Segment and Common outputs, where + * COM0 to COM[N - 1] are the rows and SEG0 to SEG[M - 1] are + * the columns. + * + * Each Segment has a 8-bit pixel and each Common output has a + * row of pixels. When using the (default) horizontal address + * increment mode, each byte of data sent to the controller has + * a Segment (e.g: SEG0). + * + * When using the 256 color depth format, each pixel contains 3 + * sub-pixels for color A, B and C. These have 3 bit, 3 bit and + * 2 bits respectively. + */ + + /* Set column start and end */ + ret = ssd130x_write_cmd(ssd130x, 3, SSD133X_SET_COL_RANGE, x, columns - 1); + if (ret < 0) + return ret; + + /* Set row start and end */ + ret = ssd130x_write_cmd(ssd130x, 3, SSD133X_SET_ROW_RANGE, y, rows - 1); + if (ret < 0) + return ret; + + /* Write out update in one go since horizontal addressing mode is used */ + ret = ssd130x_write_data(ssd130x, data_array, pitch * rows); + + return ret; +} + static void ssd130x_clear_screen(struct ssd130x_device *ssd130x, u8 *data_array) { unsigned int pages = DIV_ROUND_UP(ssd130x->height, SSD130X_PAGE_HEIGHT); @@ -805,6 +983,22 @@ static void ssd132x_clear_screen(struct ssd130x_device *ssd130x, u8 *data_array) ssd130x_write_data(ssd130x, data_array, columns * height); } +static void ssd133x_clear_screen(struct ssd130x_device *ssd130x, u8 *data_array) +{ + const struct drm_format_info *fi = drm_format_info(DRM_FORMAT_RGB332); + unsigned int pitch; + + if (!fi) + return; + + pitch = drm_format_info_min_pitch(fi, 0, ssd130x->width); + + memset(data_array, 0, pitch * ssd130x->height); + + /* Write out update in one go since horizontal addressing mode is used */ + ssd130x_write_data(ssd130x, data_array, pitch * ssd130x->height); +} + static int ssd130x_fb_blit_rect(struct drm_framebuffer *fb, const struct iosys_map *vmap, struct drm_rect *rect, @@ -866,6 +1060,36 @@ static int ssd132x_fb_blit_rect(struct drm_framebuffer *fb, return ret; } +static int ssd133x_fb_blit_rect(struct drm_framebuffer *fb, + const struct iosys_map *vmap, + struct drm_rect *rect, u8 *data_array, + struct drm_format_conv_state *fmtcnv_state) +{ + struct ssd130x_device *ssd130x = drm_to_ssd130x(fb->dev); + const struct drm_format_info *fi = drm_format_info(DRM_FORMAT_RGB332); + unsigned int dst_pitch; + struct iosys_map dst; + int ret = 0; + + if (!fi) + return -EINVAL; + + dst_pitch = drm_format_info_min_pitch(fi, 0, drm_rect_width(rect)); + + ret = drm_gem_fb_begin_cpu_access(fb, DMA_FROM_DEVICE); + if (ret) + return ret; + + iosys_map_set_vaddr(&dst, data_array); + drm_fb_xrgb8888_to_rgb332(&dst, &dst_pitch, vmap, fb, rect, fmtcnv_state); + + drm_gem_fb_end_cpu_access(fb, DMA_FROM_DEVICE); + + ssd133x_update_rect(ssd130x, rect, data_array, dst_pitch); + + return ret; +} + static int ssd130x_primary_plane_atomic_check(struct drm_plane *plane, struct drm_atomic_state *state) { @@ -964,6 +1188,29 @@ static int ssd132x_primary_plane_atomic_check(struct drm_plane *plane, return 0; } +static int ssd133x_primary_plane_atomic_check(struct drm_plane *plane, + struct drm_atomic_state *state) +{ + struct drm_plane_state *plane_state = drm_atomic_get_new_plane_state(state, plane); + struct drm_crtc *crtc = plane_state->crtc; + struct drm_crtc_state *crtc_state = NULL; + int ret; + + if (crtc) + crtc_state = drm_atomic_get_new_crtc_state(state, crtc); + + ret = drm_atomic_helper_check_plane_state(plane_state, crtc_state, + DRM_PLANE_NO_SCALING, + DRM_PLANE_NO_SCALING, + false, false); + if (ret) + return ret; + else if (!plane_state->visible) + return 0; + + return 0; +} + static void ssd130x_primary_plane_atomic_update(struct drm_plane *plane, struct drm_atomic_state *state) { @@ -1034,6 +1281,39 @@ static void ssd132x_primary_plane_atomic_update(struct drm_plane *plane, drm_dev_exit(idx); } +static void ssd133x_primary_plane_atomic_update(struct drm_plane *plane, + struct drm_atomic_state *state) +{ + struct drm_plane_state *plane_state = drm_atomic_get_new_plane_state(state, plane); + struct drm_plane_state *old_plane_state = drm_atomic_get_old_plane_state(state, plane); + struct drm_shadow_plane_state *shadow_plane_state = to_drm_shadow_plane_state(plane_state); + struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, plane_state->crtc); + struct ssd130x_crtc_state *ssd130x_crtc_state = to_ssd130x_crtc_state(crtc_state); + struct drm_framebuffer *fb = plane_state->fb; + struct drm_atomic_helper_damage_iter iter; + struct drm_device *drm = plane->dev; + struct drm_rect dst_clip; + struct drm_rect damage; + int idx; + + if (!drm_dev_enter(drm, &idx)) + return; + + drm_atomic_helper_damage_iter_init(&iter, old_plane_state, plane_state); + drm_atomic_for_each_plane_damage(&iter, &damage) { + dst_clip = plane_state->dst; + + if (!drm_rect_intersect(&dst_clip, &damage)) + continue; + + ssd133x_fb_blit_rect(fb, &shadow_plane_state->data[0], &dst_clip, + ssd130x_crtc_state->data_array, + &shadow_plane_state->fmtcnv_state); + } + + drm_dev_exit(idx); +} + static void ssd130x_primary_plane_atomic_disable(struct drm_plane *plane, struct drm_atomic_state *state) { @@ -1082,6 +1362,30 @@ static void ssd132x_primary_plane_atomic_disable(struct drm_plane *plane, drm_dev_exit(idx); } +static void ssd133x_primary_plane_atomic_disable(struct drm_plane *plane, + struct drm_atomic_state *state) +{ + struct drm_device *drm = plane->dev; + struct ssd130x_device *ssd130x = drm_to_ssd130x(drm); + struct drm_plane_state *plane_state = drm_atomic_get_new_plane_state(state, plane); + struct drm_crtc_state *crtc_state; + struct ssd130x_crtc_state *ssd130x_crtc_state; + int idx; + + if (!plane_state->crtc) + return; + + crtc_state = drm_atomic_get_new_crtc_state(state, plane_state->crtc); + ssd130x_crtc_state = to_ssd130x_crtc_state(crtc_state); + + if (!drm_dev_enter(drm, &idx)) + return; + + ssd133x_clear_screen(ssd130x, ssd130x_crtc_state->data_array); + + drm_dev_exit(idx); +} + /* Called during init to allocate the plane's atomic state. */ static void ssd130x_primary_plane_reset(struct drm_plane *plane) { @@ -1144,6 +1448,12 @@ static const struct drm_plane_helper_funcs ssd130x_primary_plane_helper_funcs[] .atomic_check = ssd132x_primary_plane_atomic_check, .atomic_update = ssd132x_primary_plane_atomic_update, .atomic_disable = ssd132x_primary_plane_atomic_disable, + }, + [SSD133X_FAMILY] = { + DRM_GEM_SHADOW_PLANE_HELPER_FUNCS, + .atomic_check = ssd133x_primary_plane_atomic_check, + .atomic_update = ssd133x_primary_plane_atomic_update, + .atomic_disable = ssd133x_primary_plane_atomic_disable, } }; @@ -1214,6 +1524,33 @@ static int ssd132x_crtc_atomic_check(struct drm_crtc *crtc, return 0; } +static int ssd133x_crtc_atomic_check(struct drm_crtc *crtc, + struct drm_atomic_state *state) +{ + struct drm_device *drm = crtc->dev; + struct ssd130x_device *ssd130x = drm_to_ssd130x(drm); + struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc); + struct ssd130x_crtc_state *ssd130x_state = to_ssd130x_crtc_state(crtc_state); + const struct drm_format_info *fi = drm_format_info(DRM_FORMAT_RGB332); + unsigned int pitch; + int ret; + + if (!fi) + return -EINVAL; + + ret = drm_crtc_helper_atomic_check(crtc, state); + if (ret) + return ret; + + pitch = drm_format_info_min_pitch(fi, 0, ssd130x->width); + + ssd130x_state->data_array = kmalloc(pitch * ssd130x->height, GFP_KERNEL); + if (!ssd130x_state->data_array) + return -ENOMEM; + + return 0; +} + /* Called during init to allocate the CRTC's atomic state. */ static void ssd130x_crtc_reset(struct drm_crtc *crtc) { @@ -1275,6 +1612,10 @@ static const struct drm_crtc_helper_funcs ssd130x_crtc_helper_funcs[] = { .mode_valid = ssd130x_crtc_mode_valid, .atomic_check = ssd132x_crtc_atomic_check, }, + [SSD133X_FAMILY] = { + .mode_valid = ssd130x_crtc_mode_valid, + .atomic_check = ssd133x_crtc_atomic_check, + }, }; static const struct drm_crtc_funcs ssd130x_crtc_funcs = { @@ -1337,6 +1678,31 @@ static void ssd132x_encoder_atomic_enable(struct drm_encoder *encoder, ssd130x_power_off(ssd130x); } +static void ssd133x_encoder_atomic_enable(struct drm_encoder *encoder, + struct drm_atomic_state *state) +{ + struct drm_device *drm = encoder->dev; + struct ssd130x_device *ssd130x = drm_to_ssd130x(drm); + int ret; + + ret = ssd130x_power_on(ssd130x); + if (ret) + return; + + ret = ssd133x_init(ssd130x); + if (ret) + goto power_off; + + ssd130x_write_cmd(ssd130x, 1, SSD13XX_DISPLAY_ON); + + backlight_enable(ssd130x->bl_dev); + + return; + +power_off: + ssd130x_power_off(ssd130x); +} + static void ssd130x_encoder_atomic_disable(struct drm_encoder *encoder, struct drm_atomic_state *state) { @@ -1358,6 +1724,10 @@ static const struct drm_encoder_helper_funcs ssd130x_encoder_helper_funcs[] = { [SSD132X_FAMILY] = { .atomic_enable = ssd132x_encoder_atomic_enable, .atomic_disable = ssd130x_encoder_atomic_disable, + }, + [SSD133X_FAMILY] = { + .atomic_enable = ssd133x_encoder_atomic_enable, + .atomic_disable = ssd130x_encoder_atomic_disable, } }; diff --git a/drivers/gpu/drm/solomon/ssd130x.h b/drivers/gpu/drm/solomon/ssd130x.h index 075c5c3ee75a..a4554018bb2a 100644 --- a/drivers/gpu/drm/solomon/ssd130x.h +++ b/drivers/gpu/drm/solomon/ssd130x.h @@ -25,7 +25,8 @@ enum ssd130x_family_ids { SSD130X_FAMILY, - SSD132X_FAMILY + SSD132X_FAMILY, + SSD133X_FAMILY }; enum ssd130x_variants { @@ -39,6 +40,8 @@ enum ssd130x_variants { SSD1322_ID, SSD1325_ID, SSD1327_ID, + /* ssd133x family */ + SSD1331_ID, NR_SSD130X_VARIANTS };