Received: by 2002:ab2:6309:0:b0:1fb:d597:ff75 with SMTP id s9csp601940lqt; Thu, 6 Jun 2024 12:28:45 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCW1wfi8KKEHGF9sCqao+DTxRb/8qP5L0yQIlz+0HYKB5YL5HCe6V126Qw2Dfs4H/6hmc5jap2of5k9KD6+80y3L7cMvFHIdX5CEH7AQDQ== X-Google-Smtp-Source: AGHT+IHDWEAa+bsiowj6aEizifCU+byZ4RNt6M0TidXKfDGEIjQFfVVIKJIuO4vAm3lZDEO/uyC7 X-Received: by 2002:a17:906:4410:b0:a6c:7072:1444 with SMTP id a640c23a62f3a-a6cd7891911mr32397966b.41.1717702125210; Thu, 06 Jun 2024 12:28:45 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717702125; cv=pass; d=google.com; s=arc-20160816; b=DdVNmrgQn1JsGsM7PesbODJyl9MmlttDt8YRXfE5mwNUcLVWW2pM5yLkPVCOT7PNwQ EvXa6wiZSeBCstO+/dSlzaK+2x7xJ2Dv5T86e8IwQpoxVOxzq+j+J49YjUBWJmuBBU9H pB4r1JUCtG2wVz3onuIxGYZLNX/RzHe4YcNsSiquKfF9eoNmZ3D0zoX8s8yyEfs46WXm IQ/vBdqU+Hr4n1ZtiPqFzQYO0jywete5Hyt8wIZTW3q9wbOHmveM2NMcNYkco0xFjLzo Y9REnYuZ0IKTjj9bpDV3Ib5/0dggRMcTa/apYXUv6P4heUACCEW408kjfFktGk90/A/B xcdA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature; bh=GB6MZQJq01h0LK2x/lLJXgfiBGciPLlwaLU35DhdcnU=; fh=xjwTMm2/Ti7s13PdLcKzAQLja0DuHVsh1MQ/+gJf8I0=; b=UA0K7pkjyM6klgt/m+zcmKuQRCYj7+HutgivE1BqtGZcvEMuM+37ObTUj4sgZnTz/7 sQNGt2NN8PMZ5IXuEyhOk/stPAmjGRj9awtCv/2HSi++OJcF1Rhm22BscT8iY352xFRi T8JYfK9aagA2b5zK+/e0ecQoTKm1xRbr4Ifqpw0PcdjBuVDoOHfNUqO97avQo/xaOcor Wqz92iWsa89OTFpz5YgKyH7W3Mi2eKe8iwo45eWcw+x0jEkaIzREH0v/PHnnEOYtShLg ZaiJ481b5Vrqlu5TpwfS1bMLe+75RB5CMv0IAdkcx8/eEcRyfXOMFdycLJf59ph9DfD/ FXwg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=BnG1Dpbe; arc=pass (i=1 spf=pass spfdomain=collabora.com dkim=pass dkdomain=collabora.com dmarc=pass fromdomain=collabora.com); spf=pass (google.com: domain of linux-kernel+bounces-204941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-204941-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id 4fb4d7f45d1cf-57aae0c5962si1002180a12.58.2024.06.06.12.28.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jun 2024 12:28:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-204941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=BnG1Dpbe; arc=pass (i=1 spf=pass spfdomain=collabora.com dkim=pass dkdomain=collabora.com dmarc=pass fromdomain=collabora.com); spf=pass (google.com: domain of linux-kernel+bounces-204941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-204941-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.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 am.mirrors.kernel.org (Postfix) with ESMTPS id 82B961F2556D for ; Thu, 6 Jun 2024 19:28:44 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 80A7461FF9; Thu, 6 Jun 2024 19:28:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="BnG1Dpbe" Received: from madrid.collaboradmins.com (madrid.collaboradmins.com [46.235.227.194]) (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 CE8E0446DB; Thu, 6 Jun 2024 19:28:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=46.235.227.194 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717702114; cv=none; b=BQyipFn88kA7H4dyYqSco+U2iiIF6kKaHHqLkcIaNZwk5c41MBG43HdMzRRujC8kqUhOU46SDB5SIeQms+XlrvaziGgPBxm3thfJvHrNXiF1wdOBehxNTHWo3/Hk9cP1d56fIGCBcLnS5fIH0zhNdrJOQ4WB1RE8XvCGgZDNVfc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717702114; c=relaxed/simple; bh=Tats7cQ9n79rYoymjeJPyxZK77L8sPmlxk6JKFywVCQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=GLccbUsCylJfHYTCKN+33DdTrYF2NQIKQH8oFKlbvTAYN3J1A4nxRjj9MncA2Pxa0emz8NfjgO2/nT6XEN/5wVFvnvVRNrXhe2kSGg0CMGShwIAm2va/ziGLQ1dm7m8vLiZidAp/zyrH+2N4+9n9lSWaIBfIOwWI+iRw8hX5/Qc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=BnG1Dpbe; arc=none smtp.client-ip=46.235.227.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1717702110; bh=Tats7cQ9n79rYoymjeJPyxZK77L8sPmlxk6JKFywVCQ=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=BnG1Dpbe9oHohbw1N5t4nVvVzvxLSTbolvKwKT0EUopk0UvimpQlxIYlFHj077fA7 38ZPi40lmNlvCh439SO88y0HMEDVCnIWYInLVR6bGvWKeQyG6MhVrMWIuWCA6F8WX/ cjCE7LIbFT+qQwShUKeBPntFlA8bBi1wGtJWfgkp2ocqomgENsnWtAGOHltyXwmJYm K7jxYCgxm6vuU0mqaeJ5QN9Up/G/akzvxbrKH9gr7RDvYaHcFL+aXZ5OFRPjmJXgS5 1QEa2aMWo14llG++xXgIkVQMVy9FaXYQoLl+gu1LVsV2x5r9ovA+ElZX37SO50/ClT ewMLUzhzZjUhA== Received: from [100.115.223.179] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madrid.collaboradmins.com (Postfix) with ESMTPSA id D15983781022; Thu, 6 Jun 2024 19:28:28 +0000 (UTC) Message-ID: <7e59f58b-6305-44bd-ad2f-f0ee8ea28387@collabora.com> Date: Thu, 6 Jun 2024 22:28:28 +0300 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 12/14] dt-bindings: display: rockchip,dw-hdmi: Add compatible for RK3588 To: Rob Herring Cc: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Sandy Huang , =?UTF-8?Q?Heiko_St=C3=BCbner?= , Andy Yan , Krzysztof Kozlowski , Conor Dooley , Mark Yao , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, kernel@collabora.com, Alexandre ARNOUD , Luis de Arquer References: <20240601-b4-rk3588-bridge-upstream-v1-0-f6203753232b@collabora.com> <20240601-b4-rk3588-bridge-upstream-v1-12-f6203753232b@collabora.com> <20240605232206.GA3345910-robh@kernel.org> <260aa607-099a-4f65-ae59-c4b6ea2256f1@collabora.com> From: Cristian Ciocaltea Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 6/6/24 5:58 PM, Rob Herring wrote: > On Thu, Jun 6, 2024 at 5:51 AM Cristian Ciocaltea > wrote: >> >> On 6/6/24 2:22 AM, Rob Herring wrote: >>> On Sat, Jun 01, 2024 at 04:12:34PM +0300, Cristian Ciocaltea wrote: >>>> Document the Synopsys DesignWare HDMI 2.1 Quad-Pixel (QP) TX controller >>>> found on Rockchip RK3588 SoC family. >>>> >>>> Since RK3588 uses different clocks than previous Rockchip SoCs and also >>>> requires a couple of reset lines and some additional properties, provide >>>> the required changes in the binding to accommodate all variants. >>>> >>>> Signed-off-by: Cristian Ciocaltea >>>> --- >>>> .../display/rockchip/rockchip,dw-hdmi.yaml | 127 +++++++++++++++------ >>>> 1 file changed, 90 insertions(+), 37 deletions(-) >>>> >>>> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml >>>> index 2aac62219ff6..60d6b815227f 100644 >>>> --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml >>>> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml >>>> @@ -10,12 +10,10 @@ maintainers: >>>> - Mark Yao >>>> >>>> description: | >>>> - The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP >>>> - with a companion PHY IP. >>>> - >>>> -allOf: >>>> - - $ref: ../bridge/synopsys,dw-hdmi.yaml# >>>> - - $ref: /schemas/sound/dai-common.yaml# >>>> + For SoCs up to RK3568, the HDMI transmitter is a Synopsys DesignWare >>>> + HDMI 1.4 TX controller IP with a companion PHY IP. >>>> + The RK3588 SoC integrates the Synopsys DesignWare HDMI 2.1 Quad-Pixel (QP) >>>> + TX controller IP and a HDMI/eDP TX Combo PHY based on a Samsung IP block. >>>> >>>> properties: >>>> compatible: >>>> @@ -25,6 +23,7 @@ properties: >>>> - rockchip,rk3328-dw-hdmi >>>> - rockchip,rk3399-dw-hdmi >>>> - rockchip,rk3568-dw-hdmi >>>> + - rockchip,rk3588-dw-hdmi >>>> >>>> reg-io-width: >>>> const: 4 >>>> @@ -40,36 +39,6 @@ properties: >>>> A 1.8V supply that powers up the SoC internal circuitry. The pin name on the >>>> SoC usually is HDMI_TX_AVDD_1V8. >>>> >>>> - clocks: >>>> - minItems: 2 >>>> - items: >>>> - - {} >>>> - - {} >>>> - # The next three clocks are all optional, but shall be specified in this >>>> - # order when present. >>>> - - description: The HDMI CEC controller main clock >>>> - - description: Power for GRF IO >>>> - - description: External clock for some HDMI PHY (old clock name, deprecated) >>>> - - description: External clock for some HDMI PHY (new name) >>>> - >>>> - clock-names: >>>> - minItems: 2 >>>> - items: >>>> - - {} >>>> - - {} >>>> - - enum: >>>> - - cec >>>> - - grf >>>> - - vpll >>>> - - ref >>>> - - enum: >>>> - - grf >>>> - - vpll >>>> - - ref >>>> - - enum: >>>> - - vpll >>>> - - ref >>>> - >>>> ddc-i2c-bus: >>>> $ref: /schemas/types.yaml#/definitions/phandle >>>> description: >>>> @@ -131,13 +100,97 @@ properties: >>>> required: >>>> - compatible >>>> - reg >>>> - - reg-io-width >>>> - clocks >>>> - clock-names >>>> - interrupts >>>> - ports >>>> - rockchip,grf >>>> >>>> +allOf: >>>> + - $ref: /schemas/sound/dai-common.yaml# >>>> + - if: >>>> + properties: >>>> + compatible: >>>> + contains: >>>> + enum: >>>> + - rockchip,rk3588-dw-hdmi >>>> + then: >>>> + properties: >>>> + reg: >>>> + maxItems: 1 >>>> + >>>> + clocks: >>>> + minItems: 1 >>>> + items: >>>> + - description: APB system interface clock >>>> + # The next clocks are optional, but shall be specified in this >>>> + # order when present. >>>> + - description: TMDS/FRL link clock >>>> + - description: EARC RX biphase clock >>>> + - description: Reference clock >>>> + - description: Audio interface clock >>>> + - description: Video datapath clock >>>> + >>>> + clock-names: >>>> + minItems: 1 >>>> + items: >>>> + - const: pclk >>>> + - enum: [hdp, earc, ref, aud, hclk_vo1] >>>> + - enum: [earc, ref, aud, hclk_vo1] >>>> + - enum: [ref, aud, hclk_vo1] >>>> + - enum: [aud, hclk_vo1] >>>> + - const: hclk_vo1 >>>> + >>>> + resets: >>>> + minItems: 2 >>>> + maxItems: 2 >>>> + >>>> + reset-names: >>>> + items: >>>> + - const: ref >>>> + - const: hdp >>>> + >>>> + interrupts: >>>> + minItems: 1 >>>> + maxItems: 5 >>>> + >>>> + rockchip,vo1_grf: >>>> + $ref: /schemas/types.yaml#/definitions/phandle >>>> + description: Some QP related data is accessed through VO1 GRF regs >>>> + >>>> + required: >>>> + - resets >>>> + - reset-names >>>> + - rockchip,vo1_grf >>>> + >>>> + else: >>>> + $ref: ../bridge/synopsys,dw-hdmi.yaml# >>> >>> This is odd... With this plus the amount of conditional schema, I think >>> this should be a new schema doc. Doesn't have to have a common >>> schema. You can let the 2nd user of this IP block do that. >> >> Yes, v2 is going to be a completely separated driver implementation. > > That actually has nothing to do with the decision here. Bindings are > separate from drivers. Right, I should have properly explained that initially this QP controller has been handled more like another variant of those found in the older SoCs, rather than a totally new one. It doesn't really have anything in common, except that the IP comes from Synopsys, hence it makes sense to also have a dedicated schema. Thanks, Cristian