Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp115229pxb; Tue, 14 Sep 2021 20:30:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyk04igY2inQ3QWqFl/rdki4AqJY6kYKlNg2SmifGGcfupyMlTJT9xQ7+v5Z369L+avzqH6 X-Received: by 2002:a2e:9455:: with SMTP id o21mr18219045ljh.281.1631676617738; Tue, 14 Sep 2021 20:30:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631676617; cv=none; d=google.com; s=arc-20160816; b=olZHWAQ1TGJbZ4iVE10mJNLI/yqXObJaMp4xNRHyWWVb0MwG8giruBr+6FurUQ2zyb 1QrGsw+cxGE5mJS569Laq4UqRivHQGQwBp08SFdrGqp4Q+emS7WFMESMgxLZN8VckMiK JUoOQSB57rUuTDIMAscczlWBCQWxxz0lh27f9khN0oPJRNRNMhjpfFtFNgnQDb927iL2 zWT4OeHoNooAFWD+xRcTQmRcj5ZCxidQ3rE2rPb+VSPI8BWW0jIOsqqhbfRT1JEppBdk 76bMy3+WLj0WE6PoY1cHMl95TI8lvT1tI2eway1HkmtD+k+FOJM7xdqxM6Yd3xM4be9P M0ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=Jpkoy1O4W37gxxZz4Q3BGON9SqZWsCkichzbFfj+wPo=; b=E47QQ1dol6I/R1AKu7JWpmkbZx5OEB+D1+VstGaXzuzDwmuoN/FNLXis0lE+tu8QeY 6zRDOpbketWsut1vTH2UP8WbVi4XXMg4AN4HoNgre6e3UrkeGAk5RYanCBozQ4wZu4wf 9DKR2Z4R6rDCkHFGVIf5FJdMcTG2LvqTrfzKbfvTYpFYb3fcRtrVH13AA2M1c6c4tm5T +WeY0G7of0PJ3vzTkQ43lKoYNjA02/93zjwC6CGcN/quZA307zkWsf0JL1Vq3OM1HZr8 /8aFkFJCiSCuCC6nFrtUrsZ0wKMesv6p/MqBk3uU1SP0dzYYsNeH1Y7aAYlSCUOXMIx0 lsHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=j5pbDlKb; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 2si18609507ljh.185.2021.09.14.20.29.51; Tue, 14 Sep 2021 20:30:17 -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; dkim=pass header.i=@chromium.org header.s=google header.b=j5pbDlKb; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236175AbhIOD1A (ORCPT + 99 others); Tue, 14 Sep 2021 23:27:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229986AbhIOD07 (ORCPT ); Tue, 14 Sep 2021 23:26:59 -0400 Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4731AC061574 for ; Tue, 14 Sep 2021 20:25:41 -0700 (PDT) Received: by mail-lj1-x232.google.com with SMTP id q21so2631070ljj.6 for ; Tue, 14 Sep 2021 20:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Jpkoy1O4W37gxxZz4Q3BGON9SqZWsCkichzbFfj+wPo=; b=j5pbDlKbHAd/SoLCe/0YXf/jcjOdh7iKg2fsZFsarJCya01vUWLgShKILNoLJ7fKDX QYlstdoebXeBTxYpSIVHChb8b+8ERKwmiwpjChYkhJ1M0jnrKMS0za5Nc0xykKZh6ym7 EOn20yZdsi/QGUBN2LgWOZceToXqcG+/zRPKY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Jpkoy1O4W37gxxZz4Q3BGON9SqZWsCkichzbFfj+wPo=; b=JyfoKWRMldnb0Wbih2mgE4kj7rlNZBUdv9CO+UENnnhzTdzIKFAMPH+PKMU+VQSzLk ihDL9+kOGEY52GfANUzupTS+3ZvoSFhIxrkZOf+JjuH0b9JvCuYyGyla8aNO9aESTp5V g+dLRga2KoMsop/nBR6FWpic+BKnqz2KZu6oVyCU20hppPhl0jyrtWAI1Vljt8+wxhNi 0C4LUxoIzcVNDrALHE2NT/G1n2bpTAdgwdSS3ZaLEXGwPWQ5nI2wm+3a0GPcAZg3J2+h bGoXwVIjFrT7cuiVw3FBg6SlORGh2SO9kpb6rhfdsTszXiPYOl97aoTe081iQJViHOay HkPA== X-Gm-Message-State: AOAM5330ggUMy3U1sEnXV0RYAQ7VUgBQKXhXCMBJdfARs+ObsU3S6HE2 Jvitzus5A9v1F/BWxikb82sjAi30s16V1O/muc0KSA== X-Received: by 2002:a2e:7d17:: with SMTP id y23mr18546099ljc.392.1631676339641; Tue, 14 Sep 2021 20:25:39 -0700 (PDT) MIME-Version: 1.0 References: <20210830003603.31864-1-zhiyong.tao@mediatek.com> <20210830003603.31864-2-zhiyong.tao@mediatek.com> <1630551265.2247.11.camel@mhfsdcap03> <4787120f25e76ed3727e10011522fc075da52e32.camel@mediatek.com> <05f453a466995a6c272d585f18e81c5fcb837a0b.camel@mediatek.com> In-Reply-To: <05f453a466995a6c272d585f18e81c5fcb837a0b.camel@mediatek.com> From: Chen-Yu Tsai Date: Wed, 15 Sep 2021 11:25:28 +0800 Message-ID: Subject: Re: [PATCH v11 1/4] dt-bindings: pinctrl: mt8195: add rsel define To: "zhiyong.tao" Cc: Rob Herring , Linus Walleij , Mark Rutland , Matthias Brugger , Sean Wang , srv_heupstream , hui.liu@mediatek.com, Eddie Huang , Light Hsieh , Biao Huang , Hongzhou Yang , Sean Wang , Seiya Wang , Devicetree List , LKML , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , "moderated list:ARM/Mediatek SoC support" , "open list:GPIO SUBSYSTEM" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 14, 2021 at 8:27 PM zhiyong.tao wrote: > > On Mon, 2021-09-06 at 16:20 +0800, Chen-Yu Tsai wrote: > > On Sat, Sep 4, 2021 at 4:40 PM zhiyong.tao > > wrote: > > > > > > On Thu, 2021-09-02 at 11:35 +0800, Chen-Yu Tsai wrote: > > > > On Thu, Sep 2, 2021 at 10:54 AM zhiyong.tao < > > > > zhiyong.tao@mediatek.com > > > > > wrote: > > > > > > > > > > On Wed, 2021-09-01 at 12:35 +0800, Chen-Yu Tsai wrote: > > > > > > On Mon, Aug 30, 2021 at 8:36 AM Zhiyong Tao < > > > > > > zhiyong.tao@mediatek.com> wrote: > > > > > > > > > > > > > > This patch adds rsel define for mt8195. > > > > > > > > > > > > > > Signed-off-by: Zhiyong Tao > > > > > > > --- > > > > > > > include/dt-bindings/pinctrl/mt65xx.h | 9 +++++++++ > > > > > > > 1 file changed, 9 insertions(+) > > > > > > > > > > > > > > diff --git a/include/dt-bindings/pinctrl/mt65xx.h > > > > > > > b/include/dt- > > > > > > > bindings/pinctrl/mt65xx.h > > > > > > > index 7e16e58fe1f7..f5934abcd1bd 100644 > > > > > > > --- a/include/dt-bindings/pinctrl/mt65xx.h > > > > > > > +++ b/include/dt-bindings/pinctrl/mt65xx.h > > > > > > > @@ -16,6 +16,15 @@ > > > > > > > #define MTK_PUPD_SET_R1R0_10 102 > > > > > > > #define MTK_PUPD_SET_R1R0_11 103 > > > > > > > > > > > > > > +#define MTK_PULL_SET_RSEL_000 200 > > > > > > > +#define MTK_PULL_SET_RSEL_001 201 > > > > > > > +#define MTK_PULL_SET_RSEL_010 202 > > > > > > > +#define MTK_PULL_SET_RSEL_011 203 > > > > > > > +#define MTK_PULL_SET_RSEL_100 204 > > > > > > > +#define MTK_PULL_SET_RSEL_101 205 > > > > > > > +#define MTK_PULL_SET_RSEL_110 206 > > > > > > > +#define MTK_PULL_SET_RSEL_111 207 > > > > > > > > > > > > Could you keep the spacing between constants tighter, or have > > > > > > no > > > > > > spacing > > > > > > at all? Like having MTK_PULL_SET_RSEL_000 defined as 104 and > > > > > > so > > > > > > on. This > > > > > > would reduce the chance of new macro values colliding with > > > > > > actual > > > > > > resistor > > > > > > values set in the datasheets, plus a contiguous space would > > > > > > be > > > > > > easy to > > > > > > rule as macros. > > > > > > > > > > > > ChenYu > > > > > > > > > > Hi chenyu, > > > > > By the current solution, it won't be mixed used by > > > > > MTK_PULL_SET_RSEL_XXX > > > > > and real resistor value. > > > > > If user use MTK_PULL_SET_RSEL_XXX, They don't care the define > > > > > which > > > > > means how much resistor value. > > > > > > > > What I meant was that by keeping the value space tight, we avoid > > > > the > > > > situation where in some new chip, one of the RSEL resistors > > > > happens > > > > to > > > > be 200 or 300 ohms. 100 is already taken, so there's nothing we > > > > can > > > > do if new designs actually do have 100 ohm settings. > > > > > > > > > We think that we don't contiguous macro space for different > > > > > register. > > > > > It may increase code complexity to make having > > > > > MTK_PULL_SET_RSEL_000 > > > > > defined as 104. > > > > > > > > Can you elaborate? It is a simple range check and offset > > > > handling. > > > > Are > > > > you concerned that a new design would have R2R1R0 and you would > > > > like > > > > the macros to be contiguous? > > > > > > > > BTW I don't quite get why decimal base values (100, 200, etc.) > > > > were > > > > chosen. One would think that binary bases are easier to handle in > > > > code. > > > > > > > > > > > > ChenYu > > > > > > > > > > Yes,we concerned that a new design would have R2R1R0 and we would > > > like > > > the macros to be contiguous in the feature. we reserve it. > > > > I see. That makes sense. Do you expect to see R3 or even R4 in the > > future? > > Or put another way, do you expect to see resistor values of 150 or > > 200 > > supported? > > > > Maybe we could reserve 200 and start from 201 for the RSEL macros? > > > > Some planning needs to be done here to avoid value clashes. > > > > > We think that decimal and binary base values are the same for the > > > feature. > > > > With decimal numbers you end up wasting a bit more space, since the > > hardware is always using binary values. I just found it odd, that's > > all. > > > > ChenYu > > > > > > > Thanks. > > Hi ChenYu, > > In the next version, we provide a solution which we discussed internal > to avoid value clashes. > > The solution: > 1. We will keep the define "MTK_PULL_SET_RSEL_000 200". It won't > change. > > 2. We will add a property in pio dtsi node, for example, > the property name is "rsel_resistance_in_si_unit". > We will add a flag "rsel_si_unit" in pinctrl device. > in probe function, we will identify the property name > "rsel_resistance_in_si_unit" to set the flag "rsel_si_unit" value. > So it can void value clashes. I suppose a "mediatek," prefix should be added. And to future proof things this should probably apply to all bias-up/down values, so "mediatek,bias-resistance-in-si-units"? And the description should include something like that: Past usage of bias-up/down values included magic numbers to specify different hardware configurations based on register values. This property specifies that all values used for bias-up/down for this controller shall be in SI units. And this proposal is still subject to maintainer (not me) review. > 3.We will provide the define "MTK_PULL_SET_RSEL_000 200" and si unit > two solution. users can support which solution by add property > "rsel_resistance_in_si_unit" in dts node or not. Thanks. I think this solution does provide a clear separation of the two value spaces. ChenYu > > > > > > > > > > > > > > > > > > #define MTK_DRIVE_2mA 2 > > > > > > > #define MTK_DRIVE_4mA 4 > > > > > > > #define MTK_DRIVE_6mA 6 > > > > > > > -- > > > > > > > 2.18.0 > > > > > > > _______________________________________________ > > > > > > > Linux-mediatek mailing list > > > > > > > Linux-mediatek@lists.infradead.org > > > > > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek