Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp1780438ybh; Fri, 13 Mar 2020 07:18:37 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvuuvH1aTlp+sQD4NhrLpDnmjV3QMXSTnhZB30vu6IEXmmFEa4kjEOamUq9LOepWk9nnCfH X-Received: by 2002:aca:edcf:: with SMTP id l198mr6988317oih.97.1584109117693; Fri, 13 Mar 2020 07:18:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584109117; cv=none; d=google.com; s=arc-20160816; b=sbmcTf7diX1YvpkH06g47NJkvivPq0V+bgP0fuk2qgs7qWqc5r6FAbP1rqAVmNB2Ed M1i6t85pADp1gHW5mzH2faT+IjwXy74NUDHLA4xoJHvTj4X9voYF/C7JcLhlrTe45Qym gl5cr/WWiKmQl0BHeHo8amKj/lZVLR8aZOV4kmfLgezZBnL4cKBSdaNM/flFrXY0Te8X k5EdllHT1KCUY7sDK3WxwAoosNT2DbuEYZckduLgfEuYuUg41q4f4m+Oou201bygxkJ/ AbDF6OTzR0ux2anpWlOAlDZxXMtS/6U1voTDC0ZmTISNyXcSVFDQIe2YR8k8r8V18s28 ebBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=Y/6mtOH1SydDOcUT66r++ZLX9xftedLUHGXLiXMdi30=; b=ba9drf72d6MENHfOTc5H45nSjFrbe2orudujqRsoKk/2uk246k8hNrbb9Z59JfJWE7 LubVwq9mpnOcc73UIkNi6N+Mo46Gnu/CxEqIs2bqVQCzC4fClJ3q+VhjiZEC8KGHnm2u JOfGSVog9EvzW9eEPGltRq5ioPoqAWkjfYvYlqP+FunMp9MWGi2jSFw+7QPt76ENpyn3 YnPmp1qR/c9SrmvARzV3yJIWr+62GmWxYEBS752aJQyrJ5guWRyBCIp268Kx/01oBWeO Tf1N+XRXaqCbQqn7gGSPxgGLXNJvoxGqe6hde/3AWv4IXBT9+4QKV+GXAxYgRmvGjhsX a48w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=sq4XHVmj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l16si4390730otp.260.2020.03.13.07.18.22; Fri, 13 Mar 2020 07:18:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=sq4XHVmj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726875AbgCMORT (ORCPT + 99 others); Fri, 13 Mar 2020 10:17:19 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:49282 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726664AbgCMORT (ORCPT ); Fri, 13 Mar 2020 10:17:19 -0400 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 548C75F; Fri, 13 Mar 2020 15:17:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1584109036; bh=cNWnjF6VI23jiFmMB2Z9kPjXU1GPF9FYUM8c0rkqsfs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sq4XHVmjlbnnW+wogjp1YdiXGbDHSx42KHhulBqivBzTCxtqFKJ8mFo0dlzHTI9ar 9Cn1ADG+fwz17GazAhlgeNdfuDglKJiKysVreka8tsoddZZ9lLKGEhEGt5OkqwC8RU bPX/VD6oJDBoujSTb8b7SL+xL1BOwc//jiVaDlRg= Date: Fri, 13 Mar 2020 16:17:13 +0200 From: Laurent Pinchart To: Neil Armstrong Cc: Phong LE , airlied@linux.ie, daniel@ffwll.ch, robh+dt@kernel.org, mark.rutland@arm.com, a.hajda@samsung.com, jonas@kwiboo.se, jernej.skrabec@siol.net, sam@ravnborg.org, mripard@kernel.org, heiko.stuebner@theobroma-systems.com, linus.walleij@linaro.org, stephan@gerhold.net, icenowy@aosc.io, broonie@kernel.org, mchehab+samsung@kernel.org, davem@davemloft.net, gregkh@linuxfoundation.org, Jonathan.Cameron@huawei.com, andriy.shevchenko@linux.intel.com, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/4] dt-bindings: display: bridge: add it66121 bindings Message-ID: <20200313141713.GG4751@pendragon.ideasonboard.com> References: <20200311125135.30832-1-ple@baylibre.com> <20200311125135.30832-3-ple@baylibre.com> <20200313134013.GC4751@pendragon.ideasonboard.com> <03d5bb7f-db1b-79df-bd46-3ac0f3b4feb1@baylibre.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <03d5bb7f-db1b-79df-bd46-3ac0f3b4feb1@baylibre.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Neil, On Fri, Mar 13, 2020 at 03:12:13PM +0100, Neil Armstrong wrote: > On 13/03/2020 14:40, Laurent Pinchart wrote: > > On Wed, Mar 11, 2020 at 01:51:33PM +0100, Phong LE wrote: > >> Add the ITE bridge HDMI it66121 bindings. > >> > >> Signed-off-by: Phong LE > >> --- > >> .../bindings/display/bridge/ite,it66121.yaml | 98 +++++++++++++++++++ > >> 1 file changed, 98 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml > >> > >> diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml > >> new file mode 100644 > >> index 000000000000..1717e880d130 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml > >> @@ -0,0 +1,98 @@ > >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > >> +%YAML 1.2 > >> +--- > >> +$id: http://devicetree.org/schemas/display/bridge/ite,it66121.yaml# > >> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >> + > >> +title: ITE it66121 HDMI bridge Device Tree Bindings > >> + > >> +maintainers: > >> + - Phong LE > >> + - Neil Armstrong > >> + > >> +description: | > >> + The IT66121 is a high-performance and low-power single channel HDMI > >> + transmitter, fully compliant with HDMI 1.3a, HDCP 1.2 and backward compatible > >> + to DVI 1.0 specifications. > >> + > >> +properties: > >> + compatible: > >> + const: ite,it66121 > >> + > >> + reg: > >> + maxItems: 1 > >> + description: base I2C address of the device > >> + > >> + reset-gpios: > >> + maxItems: 1 > >> + description: GPIO connected to active low reset > >> + > >> + vrf12-supply: > >> + maxItems: 1 > >> + description: Regulator for 1.2V analog core power. > >> + > >> + vcn33-supply: > >> + maxItems: 1 > >> + description: Regulator for 3.3V digital core power. > >> + > >> + vcn18-supply: > >> + maxItems: 1 > >> + description: Regulator for 1.8V IO core power. > >> + > >> + interrupts: > >> + maxItems: 1 > >> + > >> + pclk-dual-edge: > >> + maxItems: 1 > >> + description: enable pclk dual edge mode. > > > > I'm having a bit of trouble understanding how this operates. Looking at > > the driver code the property is only taken into account to calculate the > > maximum allowed frequency. How is the IT66121 configured for single vs. > > dual pixel clock edge mode ? > > Dual edge mode is Dual-Data-Rate mode, the normal mode is MEDIA_BUS_FMT_RGB888_1X24 and dual edge is > MEDIA_BUS_FMT_RGB888_2X12_LE (or MEDIA_BUS_FMT_RGB888_2X12_BE, not sure) on a single clock period. > > This should be negociated at runtime, but the bus width should be specified somewhere to select > one of the modes. How about replacing this property by bus-width to report the connected bus width ? It should then become an endpoint property. > >> + > >> + port: > >> + type: object > >> + > >> + properties: > >> + endpoint: > >> + type: object > >> + description: | > >> + Input endpoints of the bridge. > >> + > >> + required: > >> + - endpoint > > > > You should have two ports, one for the bridge input, and one for the > > bridge output. > > > >> + > >> +required: > >> + - compatible > >> + - reg > >> + - reset-gpios > >> + - vrf12-supply > >> + - vcn33-supply > >> + - vcn18-supply > >> + - interrupts > >> + - port > >> + > >> +additionalProperties: false > >> + > >> +examples: > >> + - | > >> + i2c6 { > >> + #address-cells = <1>; > >> + #size-cells = <0>; > >> + > >> + it66121hdmitx: it66121hdmitx@4c { > >> + compatible = "ite,it66121"; > >> + pinctrl-names = "default"; > >> + pinctrl-0 = <&ite_pins_default>; > >> + vcn33-supply = <&mt6358_vcn33_wifi_reg>; > >> + vcn18-supply = <&mt6358_vcn18_reg>; > >> + vrf12-supply = <&mt6358_vrf12_reg>; > >> + reset-gpios = <&pio 160 1 /* GPIO_ACTIVE_LOW */>; > >> + interrupt-parent = <&pio>; > >> + interrupts = <4 8 /* IRQ_TYPE_LEVEL_LOW */>; > >> + reg = <0x4c>; > >> + pclk-dual-edge; > >> + > >> + port { > >> + it66121_in: endpoint { > >> + remote-endpoint = <&display_out>; > >> + }; > >> + }; > >> + }; > >> + }; -- Regards, Laurent Pinchart