Linux PWM subsystem development
 help / color / mirror / Atom feed
From: Anjelique Melendez <quic_amelende@quicinc.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Rob Herring <robh@kernel.org>
Cc: <pavel@ucw.cz>, <lee@kernel.org>, <thierry.reding@gmail.com>,
	<krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>,
	<agross@kernel.org>, <andersson@kernel.org>,
	<konrad.dybcio@linaro.org>, <u.kleine-koenig@pengutronix.de>,
	<linux-leds@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
	<linux-pwm@vger.kernel.org>
Subject: Re: [PATCH 1/7] dt-bindings: soc: qcom: Add qcom-pbs bindings
Date: Tue, 11 Jul 2023 13:12:20 -0700	[thread overview]
Message-ID: <71e1f36f-8fd8-9d61-d563-577d4fb54f10@quicinc.com> (raw)
In-Reply-To: <431faa87-d152-5f7a-40fd-8b6fe26f0bb9@linaro.org>



On 7/10/2023 10:58 PM, Krzysztof Kozlowski wrote:
> On 11/07/2023 05:52, Anjelique Melendez wrote:
>>
>>
>> On 7/1/2023 4:03 AM, Krzysztof Kozlowski wrote:
>>> On 29/06/2023 03:19, Anjelique Melendez wrote:
>>>
>>>>>> +examples:
>>>>>> +  - |
>>>>>> +    pmic {
>>>>>> +      #address-cells = <1>;
>>>>>> +      #size-cells = <0>;
>>>>>> +
>>>>>> +      qcom,pbs@7400 {
>>>>>> +        compatible = "qcom,pbs";
>>>>>> +        reg = <0x7400>;
>>>>>> +      };
>>>>>
>>>>> Why do you need a child node for this? Is there more than 1 instance in 
>>>>> a PMIC? Every sub-function of a PMIC doesn't have to have a DT node.
>>>>>
>>>>
>>>> We currently have another downstream driver (which is planned to get upstreamed)
>>>> which also needs a handle to a pbs device in order to properly trigger events. 
>>>
>>> I don't see how does it answer Rob's concerns. Neither mine about
>>> incomplete binding. You don't need pbs node here for that.
>>>
>>> Anyway, whatever you have downstream also does not justify any changes.
>>> Either upstream these so we can see it or drop this binding.
>>>
>>> Best regards,
>>> Krzysztof
>>>
>>
>> On PMI632, peripherals are partitioned over 2 different SIDs
>> (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/qcom/pmi632.dtsi?h=v6.5-rc1#n42
>> and https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/qcom/pmi632.dtsi?h=v6.5-rc1#n149).
>> Unfortunately, the pbs peripheral and the lpg peripherals are on different
>> PMI632 devices and therefore have different regmaps.
>>  
>> If we get rid of the pbs node we need to get a handle to the proper regmap.
>> I see two possible options, we could either introduce a new client property
>> which points to a peripheral on the same device as pbs.
>>
>> i.e.
>> 	led-controller {
>> 		compatible = "qcom,pmi632-lpg";
>>       		#address-cells = <1>;
>>       		#size-cells = <0>;
>>       		#pwm-cells = <2>;
>>      		nvmem-names = "lpg_chan_sdam";
>>       		nvmem = <&pmi632_sdam7>;
>>       		qcom,pbs-phandle = <&pmi632_gpios>;
>>       		..... 
>> 	};
>> Then when client is probing could do something like the following to get the regmap
>>
>> 	dn = of_parse_phandle(node, "qcom,pbs-phandle", 0);
>> 	pdev = of_find_device_by_node(dn);
>> 	pbs_regmap = dev_get_regmap(&pdev->dev->parent, NULL);
>>
>>
>>
>> Or we could use the nvmem phandle and just have something like this in client's probe
>>
>> 	dn = of_parse_phandle(node, "nvmem", 0);
>> 	pdev = of_find_device_by_node(dn);
>> 	pbs_regmap = dev_get_regmap(&pdev->dev->parent, NULL);
>>
>>
>>
>> Let me know what your thoughts are on this.
> 
> Rob asked you - "Is there more than 1 instance in a PMIC?" - and you did
> not answer positively, just mentioned something about drivers in
> downstream, which do not matter. So is the answer for that question:
> yes, you have two instances of the same PMIC differing by presence of
> PBS and other features"?
> 
Sorry that was a misunderstanding on my part.
Yes, answer to Rob's question should have been "We have two instances of PMI632,
where one instance holds the pbs peripheral and the other holds the lpg
peripherals. The child node for pbs is needed so lpg client can access
the PMI632 regmap which contains the pbs peripheral."

Thanks,
Anjelique 



  reply	other threads:[~2023-07-11 20:12 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-21 18:59 [PATCH 0/7] Add support for LUT PPG Anjelique Melendez
2023-06-21 18:59 ` [PATCH 1/7] dt-bindings: soc: qcom: Add qcom-pbs bindings Anjelique Melendez
2023-06-21 19:36   ` Rob Herring
2023-06-24  9:38   ` Krzysztof Kozlowski
2023-06-26 13:58   ` Rob Herring
2023-06-29  1:19     ` Anjelique Melendez
2023-06-29  8:45       ` Dmitry Baryshkov
2023-06-29 21:53         ` Anjelique Melendez
2023-06-29 23:58           ` Dmitry Baryshkov
2023-07-01 11:03       ` Krzysztof Kozlowski
2023-07-11  3:52         ` Anjelique Melendez
2023-07-11  5:58           ` Krzysztof Kozlowski
2023-07-11 20:12             ` Anjelique Melendez [this message]
2023-07-12 14:22               ` Krzysztof Kozlowski
2023-07-12 14:35                 ` Dmitry Baryshkov
2023-07-12 20:11                   ` Krzysztof Kozlowski
2023-07-14 20:32                     ` Anjelique Melendez
2023-07-17  7:36                       ` Krzysztof Kozlowski
2023-06-21 18:59 ` [PATCH 2/7] dt-bindings: leds: leds-qcom-lpg: Add support for LUT through NVMEM devices Anjelique Melendez
2023-06-21 19:36   ` Rob Herring
2023-06-24  9:42   ` Krzysztof Kozlowski
2023-06-29  0:12     ` Anjelique Melendez
2023-07-01 11:01       ` Krzysztof Kozlowski
2023-06-21 18:59 ` [PATCH 3/7] soc: qcom: add QCOM PBS driver Anjelique Melendez
2023-06-24  9:55   ` Krzysztof Kozlowski
2023-06-24 10:01     ` Krzysztof Kozlowski
2023-06-29  0:48     ` Anjelique Melendez
2023-06-21 18:59 ` [PATCH 4/7] leds: rgb: leds-qcom-lpg: Add support for LUT pattern through single SDAM Anjelique Melendez
2023-06-21 18:59 ` [PATCH 5/7] leds: rgb: leds-qcom-lpg: Update PMI632 lpg_data to support PPG Anjelique Melendez
2023-06-21 18:59 ` [PATCH 6/7] leds: rgb: leds-qcom-lpg: Support two-nvmem PPG Scheme Anjelique Melendez
2023-06-21 18:59 ` [PATCH 7/7] leds: rgb: Update PM8350C lpg_data to support " Anjelique Melendez
2023-06-26  8:28 ` [PATCH 0/7] Add support for LUT PPG Luca Weiss
2023-07-25 19:33   ` Anjelique Melendez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=71e1f36f-8fd8-9d61-d563-577d4fb54f10@quicinc.com \
    --to=quic_amelende@quicinc.com \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=lee@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=robh@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=u.kleine-koenig@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox