Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp1425924pxu; Fri, 16 Oct 2020 11:36:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxa3Z7cmojT8JIXfCLZsyg98lbNIafehvsi0COP/wjW0RgBPn1U6ULX9Fl9w3Hyo+6O4G4Q X-Received: by 2002:a17:907:20e4:: with SMTP id rh4mr4945032ejb.396.1602873408172; Fri, 16 Oct 2020 11:36:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602873408; cv=none; d=google.com; s=arc-20160816; b=q8FgftM9iubrRIW3DAgZhIxotA/XKQCGTFLGFjyoEChUng8px7xtBtr627GUEJ1HPw mELdh1SRD8IyAyjhuUm53OzcRosJxJxJa+5bA2hVNrAgKzds20LGh5yCgY1e2XEi2A0H MJ+0248DPBXc+eY20uandBCc5qtY8YBBnBXselu1gyYIeNIpXkrKuDsekeeJQCQQTBnY JDEZaQMD8A6ys1KCV7EJP/oqc186yVLwTIiV0gqu26ZUYTmud+CgRwy+ayszT6lXQoOT +JuaOdgpWXb6PGcM2KM4PaDrDJZuAKVnhJxu9uRRKnR2M7oV5FTC4/e/F/req95JgBs1 ZTYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=1xqOOpGWrRUP0BaACrtzMb6Ia/iFTpKRcL/h+QE1jZs=; b=hkgxjGfGZgpMw5fUL8XRSSyHXC/CUIAmPzJHuKAsjdnc0eOQAUMILjtxJPHvIt/6Ki D6F15NDxC0XKDpPY8mi1JZfNhWWophAhtbVgkvfmF/op7vSMAbPuDInA1klVkYikg5kt eC87ZrBXacpjGUw6pqrWhb83rUFfyOaWfFjnD7+qaU/FCdzxtjz9ZGF3TbXj9Tsf8Llh 2ly+dbEMD/hijf213Vrj/6kyez1a54m7colgZpFsDwiPwmVeWJQf6IDkNe6I+GPurjmO S1KzsTJ/TRReKdM5Dt5o6Epv+ArSJQUWbT2mEQQnP+SP7z8bqGcnDXajl/g/UvIeBxKL WTSA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id oq26si2235107ejb.620.2020.10.16.11.36.09; Fri, 16 Oct 2020 11:36:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406381AbgJPNQw (ORCPT + 99 others); Fri, 16 Oct 2020 09:16:52 -0400 Received: from mslow2.mail.gandi.net ([217.70.178.242]:36876 "EHLO mslow2.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2405352AbgJPNQw (ORCPT ); Fri, 16 Oct 2020 09:16:52 -0400 Received: from relay11.mail.gandi.net (unknown [217.70.178.231]) by mslow2.mail.gandi.net (Postfix) with ESMTP id ACBB63B4205; Fri, 16 Oct 2020 12:56:44 +0000 (UTC) Received: from uno.localdomain (93-34-118-233.ip49.fastwebnet.it [93.34.118.233]) (Authenticated sender: jacopo@jmondi.org) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 397C5100008; Fri, 16 Oct 2020 12:56:17 +0000 (UTC) Date: Fri, 16 Oct 2020 16:56:03 +0200 From: Jacopo Mondi To: Geert Uytterhoeven Cc: Jacopo Mondi , Kieran Bingham , Laurent Pinchart , Niklas =?utf-8?Q?S=C3=B6derlund?= , Linux Media Mailing List , Linux-Renesas , Linux Kernel Mailing List , Hyun Kwon , Manivannan Sadhasivam Subject: Re: [PATCH v3 2/7] dt-bindings: media: max9286: Document 'maxim,high-threshold' Message-ID: <20201016145603.bapqjxsvezn6flyv@uno.localdomain> References: <20201016120625.64337-1-jacopo+renesas@jmondi.org> <20201016120625.64337-3-jacopo+renesas@jmondi.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Geert (and Kieran, as his question on the other patch is actually on the same point) On Fri, Oct 16, 2020 at 01:50:34PM +0200, Geert Uytterhoeven wrote: > Hi Jacopo, > > On Fri, Oct 16, 2020 at 12:09 PM Jacopo Mondi wrote: > > Document the 'maxim,high-threshold' vendor property in the bindings > > document of the max9286 driver. > > > > The newly introduced boolean property allows controlling the initial > > configuration of the GMSL reverse control channel to accommodate > > remote serializers pre-programmed with the high threshold power > > supply noise immunity enabled. > > > > Signed-off-by: Jacopo Mondi > > Thanks for your patch! > > > --- a/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml > > +++ b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml > > @@ -51,6 +51,19 @@ properties: > > '#gpio-cells': > > const: 2 > > > > + maxim,high-threshold: > > + description: | > > + A boolean property to increase the initial amplitude of the reverse > > + control channel to compensate for remote serializers pre-programmed with > > + high threshold noise-immunity. > > + > > + Some camera modules (in example the RDACM20 one) include an on-board MCU > > + that pre-programs the embedded serializer with reverse channel power > > + supply noise immunity enabled. The deserializer shall increase its > > + reverse channel amplitude to compensate that and be able to communicate > > + with the remote end. > > + type: boolean > > Does this "high" threshold correspond to some numerical value? > I.e. could we run into a future need to support more values than just > true/false? > If yes, we may want to use a numerical value from the start. So, this boolean property controls the initial setting of the reverse channel amplitude, which has to be opportunely adjusted to be able to probe the remote devices as i2c messages are bridged on the reverse channel from the deserializer to the remote serializers. It also implies that if the initial setting is not "high" it has to be increased after the remotes have probed, as it is assumed at the end the remotes' probe() routine they have enabled their high threshold noise immunity feature. The register that controls the de-serializer reverse channel amplitude is not fully documented in the chip manual version I have, but the application developer guide shows that it can range from 30mV to 200mV. The same developer guide shows 100mV and 170mV as "initial" and "high threshold" values to be used. On the serializer's side (MAX9271 at least) high threshold is a boolean control, it is either enabled or disabled. Hence I suspect that for the max9286-max9271 combo, using fixed 100mV and 170mV values is enough. Other serializers might allow a more fine grained control of the noise cancelling threshold, and might require a more precise adjustment of the deserializer side. I'm honestly not sure at this point not having seen any other one. So yes, this is a deserializer setting that depends on the serializer in use, and I'm not 100% comfortable expressing it as a deserializer property. That said, having an initial numerical value might serve the same purpose allowing more flexibility, if other serializers require a more precise control of the initial amplitude. After the remotes have probed, we could also re-explore the possibility of getting the bus configuration using get_mbus_config, as detailed in the v1 cover letter [1] as at that time their sub-devices have been registered and we can call operations on them. But again, this might be not required at all. Thanks j [1] https://www.spinics.net/lists/linux-renesas-soc/msg52886.html > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds