Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2795945pxj; Mon, 31 May 2021 10:59:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx2yOGeOgUFxj8Lb3zru7RAFcHxXCyPiWpYR9hdTF1IOwJXSLpLFEiRWcEAu9JGInevWL7j X-Received: by 2002:a05:6602:114:: with SMTP id s20mr18255938iot.98.1622483993884; Mon, 31 May 2021 10:59:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622483993; cv=none; d=google.com; s=arc-20160816; b=NmenjEVMZN0SOykMMT4wne/iORwlZ5ixCsIg2Kd4XPeRcDTDj7lHjuDH69UdMsCOhR Hrc3SHgAtaIsV0dc++Vv8RqQQebaaaVjm4qGx4pmwnsiwwSRV599xKIlGu91Z7/i8Bs4 5p2pDhouItXHKVNyKEpeGr49oiiBvDzwOC71R48AzTGToJGZLu8AbxxMh2C1ZFEPv2Au DiwNS/cinq9Ssn+YQUxy276hE+Dfs+rEkgsgu3jTFQ5jJAVQVgufH4zbydW8yl3PNrQ5 2W3+scesu3SiUtaBy3Uq/MrjsuyKE37k+lH9kaoPoQkjwgeoljDekRfcEaKaAhz7ZmxD eAkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=sjGZmsfFp/UOuSzQORD2nudXv9W+sFfiJPaPSogdWlM=; b=eNr+20phowe99u7r1v92u0c0pJhvy6oOUJhmHnxjkK9xf53TxaHvgivlK3o20rzEYH XJn9p9hyGKNm5d3fqAZ+3tbANTg3Tc1od1lLxn4f9/5bw3xAWeoOmZGVPRtBMZx9V7GU r0kHhdqwjrAIcZXJZTQxNQN6Aa5EQMPaZyAw5/vbKGYKk6p8qn84lP+da06P3ZkyUMbb NjgcnFWuYAJIuI+5kOgJrlnl2lFsKJs9E79UTaldYkf8jOdEQXBmwz7PsB2HENeOSMef 13vuZEXYMrKCg3xuFxEnNgysH8hIldGDwzHBNUO5Xe1PB2yahmksvdZ0s7MVysyGwkcc ju7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cBqc5YKm; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l12si7622528ils.9.2021.05.31.10.59.40; Mon, 31 May 2021 10:59:53 -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=@linaro.org header.s=google header.b=cBqc5YKm; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232209AbhEaR6y (ORCPT + 99 others); Mon, 31 May 2021 13:58:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33328 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231981AbhEaR6v (ORCPT ); Mon, 31 May 2021 13:58:51 -0400 Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9EF32C06174A for ; Mon, 31 May 2021 10:57:10 -0700 (PDT) Received: by mail-lj1-x234.google.com with SMTP id p20so15951263ljj.8 for ; Mon, 31 May 2021 10:57:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=sjGZmsfFp/UOuSzQORD2nudXv9W+sFfiJPaPSogdWlM=; b=cBqc5YKm9oxk8wkGFtsy6bmh6Kzc1awzqSTVVxKgBAaJXzcshVY80xBr9QDXTbasz6 bsR+mpQlkzNf05BAvtdR6YrS2l7cxdC1L/Y1u1ZEJsy+sEmUKQnrox1cH7mvhAEsyNHg r8CUY/VpsmZm9SumqUvO4tSTS4lsUnTbEVWWMXIJOiNaymRIus1ldGF35UnpBS9ADzL9 x1w+ER/ZFHdGbwTfJNlVUeuDPNIFqCl91qmO4fHPzkIi+E+Ij1SqPjOVOlxLv/2Rsw9Q aLclZQcpP/dGYufPL7zUagcFnDJdx/dDHEKPzx395wI6P2b5OmvICf28kimOEk7/SD0q W09g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=sjGZmsfFp/UOuSzQORD2nudXv9W+sFfiJPaPSogdWlM=; b=OjpJIFcTvbarYdes/EDNJ+pVDrBRk3TqfuUPa2Z63Iow5TjHrll2kLx9RiCJcRQrq0 2dgfacXXIPbcXi1xw5/qLMbPKAySbFVHv7DfRwVNL5LZxBNveT2H3qXwSXMeUEewN+9P oH9cgjweTtfaPpaUfBeWxKS2JCyQDjb7CK6zGPCMLHIWYoyB6oo2QJHpZJnl3Ls//Amv fGinMk+wwqnwrdW4NqekMDaFR01MGZl7BFbNFtgmkk8yK+YkS/DKv+KZrGzAg2FdbcXN SpwogIgYRsXcTx83rsJqkhrjvmkDIPi6Rq85TrmG6Qv4jMdbjOZS6usK5YERHpFmhKkk U6tw== X-Gm-Message-State: AOAM531RG33tAiE4IICo/1WILvh1yEAL6Fh4HZUZUrOQ8IG9AHMgQUgh vZijy6bTBDddBhOG2mh3GSlzOg== X-Received: by 2002:a2e:681a:: with SMTP id c26mr9266477lja.306.1622483828860; Mon, 31 May 2021 10:57:08 -0700 (PDT) Received: from [192.168.1.211] ([37.153.55.125]) by smtp.gmail.com with ESMTPSA id w24sm1408417lfa.143.2021.05.31.10.57.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 31 May 2021 10:57:08 -0700 (PDT) Subject: Re: [v1 2/3] drm/msm/dsi: Add PHY configuration for SC7280 To: Rajeev Nandan , dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org, sean@poorly.run, robdclark@gmail.com, robh+dt@kernel.org, abhinavk@codeaurora.org, kalyan_t@codeaurora.org, mkrishn@codeaurora.org, jonathan@marek.ca References: <1622468035-8453-1-git-send-email-rajeevny@codeaurora.org> <1622468035-8453-3-git-send-email-rajeevny@codeaurora.org> From: Dmitry Baryshkov Message-ID: <7a3facb5-d118-f81b-65f8-381b0d56a23b@linaro.org> Date: Mon, 31 May 2021 20:57:07 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0 MIME-Version: 1.0 In-Reply-To: <1622468035-8453-3-git-send-email-rajeevny@codeaurora.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 31/05/2021 16:33, Rajeev Nandan wrote: > The SC7280 SoC uses the 7nm (V4.1) DSI PHY driver with > different enable|disable regulator loads. > > Signed-off-by: Rajeev Nandan > --- > drivers/gpu/drm/msm/Kconfig | 6 +++--- > drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 2 ++ > drivers/gpu/drm/msm/dsi/phy/dsi_phy.h | 1 + > drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 22 ++++++++++++++++++++++ > 4 files changed, 28 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig > index 10f693e..7c9d9f1 100644 > --- a/drivers/gpu/drm/msm/Kconfig > +++ b/drivers/gpu/drm/msm/Kconfig > @@ -114,9 +114,9 @@ config DRM_MSM_DSI_10NM_PHY > Choose this option if DSI PHY on SDM845 is used on the platform. > > config DRM_MSM_DSI_7NM_PHY > - bool "Enable DSI 7nm PHY driver in MSM DRM (used by SM8150/SM8250)" > + bool "Enable DSI 7nm PHY driver in MSM DRM" > depends on DRM_MSM_DSI > default y > help > - Choose this option if DSI PHY on SM8150/SM8250 is used on the > - platform. > + Choose this option if DSI PHY on SM8150/SM8250/SC7280 is used on > + the platform. > diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c > index ff7f2ec..2770783 100644 > --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c > +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c > @@ -593,6 +593,8 @@ static const struct of_device_id dsi_phy_dt_match[] = { > .data = &dsi_phy_7nm_cfgs }, > { .compatible = "qcom,dsi-phy-7nm-8150", > .data = &dsi_phy_7nm_8150_cfgs }, > + { .compatible = "qcom,dsi-phy-7nm-7280", > + .data = &dsi_phy_7nm_7280_cfgs }, > #endif > {} > }; > diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h > index 94a77ac..bc91dc8 100644 > --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h > +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h > @@ -51,6 +51,7 @@ extern const struct msm_dsi_phy_cfg dsi_phy_10nm_cfgs; > extern const struct msm_dsi_phy_cfg dsi_phy_10nm_8998_cfgs; > extern const struct msm_dsi_phy_cfg dsi_phy_7nm_cfgs; > extern const struct msm_dsi_phy_cfg dsi_phy_7nm_8150_cfgs; > +extern const struct msm_dsi_phy_cfg dsi_phy_7nm_7280_cfgs; > > struct msm_dsi_dphy_timing { > u32 clk_zero; > diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c > index e76ce40..6e30d21 100644 > --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c > +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c > @@ -998,3 +998,25 @@ const struct msm_dsi_phy_cfg dsi_phy_7nm_8150_cfgs = { > .io_start = { 0xae94400, 0xae96400 }, > .num_dsi_phy = 2, > }; > + > +const struct msm_dsi_phy_cfg dsi_phy_7nm_7280_cfgs = { > + .has_phy_lane = true, > + .reg_cfg = { > + .num = 1, > + .regs = { > + {"vdds", 37550, 0}, > + }, > + }, > + .ops = { > + .enable = dsi_7nm_phy_enable, > + .disable = dsi_7nm_phy_disable, > + .pll_init = dsi_pll_7nm_init, > + .save_pll_state = dsi_7nm_pll_save_state, > + .restore_pll_state = dsi_7nm_pll_restore_state, > + }, > + .min_pll_rate = 600000000UL, > + .max_pll_rate = (5000000000ULL < ULONG_MAX) ? 5000000000ULL : ULONG_MAX, Could you please follow the patch by Arnd here? https://lore.kernel.org/linux-arm-msm/20210514213032.575161-1-arnd@kernel.org/ > + .io_start = { 0xae94400, 0xae96400 }, > + .num_dsi_phy = 2, Judging from the next patch, you have one DSI host and one DSI PHY. Could you please correct io_start / num_dsi_phy here? > + .quirks = DSI_PHY_7NM_QUIRK_V4_1, > +}; With these two issues fixed: Reviewed-by: Dmitry Baryshkov -- With best wishes Dmitry