From: Yang Li <yang.li@amlogic.com>
Add binding document to introduce power sequence of
Amlogic WCN chips.
Signed-off-by: Yang Li <yang.li@amlogic.com>
---
.../bindings/power/amlogic,w155s2-pwrseq.yaml | 62 ++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
new file mode 100644
index 000000000000..f99a775fcf9b
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/amlogic,w155s2-pwrseq.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Amlogic power sequence for WCN chips
+
+maintainers:
+ - Yang Li <yang.li@amlogic.com>
+
+description:
+ The Amlogic WCN chip contains discrete modules for WLAN and Bluetooth. Power on
+ Bluetooth and Wi-Fi respectively, including chip_en pull-up and bt_en pull-up,
+ and generation of the 32.768KHz clock.
+
+properties:
+ compatible:
+ oneOf:
+ - const: amlogic,w155s2-pwrseq
+ - items:
+ - enum:
+ - amlogic,w265s1-pwrseq
+ - amlogic,w265p1-pwrseq
+ - amlogic,w265s2-pwrseq
+ - const: amlogic,w155s2-pwrseq
+
+ clocks:
+ maxItems: 1
+ description: clock provided to the controller (32.768KHz)
+
+ clock-names:
+ items:
+ - const: ext_clock
+
+ amlogic,chip-enable-gpios:
+ maxItems: 1
+ description: gpio specifier used to enable chipset
+
+ amlogic,bt-enable-gpios:
+ maxItems: 1
+ description: gpio specifier used to enable BT
+
+required:
+ - compatible
+ - clocks
+ - clock-names
+ - amlogic,chip-enable-gpios
+ - amlogic,bt-enable-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ wcn_pwrseq {
+ compatible = "amlogic,w155s2-pwrseq";
+ clocks = <&extclk>;
+ clock-names = "ext_clock";
+ amlogic,chip-enable-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
+ amlogic,bt-enable-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
+ };
--
2.42.0
On 05/07/2024 13:13, Yang Li via B4 Relay wrote:
> From: Yang Li <yang.li@amlogic.com>
>
> Add binding document to introduce power sequence of
> Amlogic WCN chips.
>
> Signed-off-by: Yang Li <yang.li@amlogic.com>
> ---
> .../bindings/power/amlogic,w155s2-pwrseq.yaml | 62 ++++++++++++++++++++++
> 1 file changed, 62 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
> new file mode 100644
> index 000000000000..f99a775fcf9b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/amlogic,w155s2-pwrseq.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic power sequence for WCN chips
> +
> +maintainers:
> + - Yang Li <yang.li@amlogic.com>
> +
> +description:
> + The Amlogic WCN chip contains discrete modules for WLAN and Bluetooth. Power on
> + Bluetooth and Wi-Fi respectively, including chip_en pull-up and bt_en pull-up,
> + and generation of the 32.768KHz clock.
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: amlogic,w155s2-pwrseq
> + - items:
> + - enum:
> + - amlogic,w265s1-pwrseq
> + - amlogic,w265p1-pwrseq
> + - amlogic,w265s2-pwrseq
> + - const: amlogic,w155s2-pwrseq
> +
> + clocks:
> + maxItems: 1
> + description: clock provided to the controller (32.768KHz)
> +
> + clock-names:
> + items:
> + - const: ext_clock
Drop _clock... or actually drop entire clock-names, not much helpful.
> +
> + amlogic,chip-enable-gpios:
> + maxItems: 1
> + description: gpio specifier used to enable chipset
For entire chipset? Then enable-gpios
> +
> + amlogic,bt-enable-gpios:
> + maxItems: 1
> + description: gpio specifier used to enable BT
Follow existing bindings for Qualcomm as example.
> +
> +required:
> + - compatible
> + - clocks
> + - clock-names
> + - amlogic,chip-enable-gpios
> + - amlogic,bt-enable-gpios
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + wcn_pwrseq {
No underscores in node names, generic node names.
There is no device as "pwrseq". I also do not get what "wcn" means here.
Best regards,
Krzysztof
Dear Krzysztof
Thanks for your immediate recovery and careful guidance.
> On 05/07/2024 13:13, Yang Li via B4 Relay wrote:
>> From: Yang Li <yang.li@amlogic.com>
>>
>> Add binding document to introduce power sequence of
>> Amlogic WCN chips.
>>
>> Signed-off-by: Yang Li <yang.li@amlogic.com>
>> ---
>> .../bindings/power/amlogic,w155s2-pwrseq.yaml | 62 ++++++++++++++++++++++
>> 1 file changed, 62 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
>> new file mode 100644
>> index 000000000000..f99a775fcf9b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
>> @@ -0,0 +1,62 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/power/amlogic,w155s2-pwrseq.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Amlogic power sequence for WCN chips
>> +
>> +maintainers:
>> + - Yang Li <yang.li@amlogic.com>
>> +
>> +description:
>> + The Amlogic WCN chip contains discrete modules for WLAN and Bluetooth. Power on
>> + Bluetooth and Wi-Fi respectively, including chip_en pull-up and bt_en pull-up,
>> + and generation of the 32.768KHz clock.
>> +
>> +properties:
>> + compatible:
>> + oneOf:
>> + - const: amlogic,w155s2-pwrseq
>> + - items:
>> + - enum:
>> + - amlogic,w265s1-pwrseq
>> + - amlogic,w265p1-pwrseq
>> + - amlogic,w265s2-pwrseq
>> + - const: amlogic,w155s2-pwrseq
>> +
>> + clocks:
>> + maxItems: 1
>> + description: clock provided to the controller (32.768KHz)
>> +
>> + clock-names:
>> + items:
>> + - const: ext_clock
> Drop _clock... or actually drop entire clock-names, not much helpful.
Got it~ will do.
>
>> +
>> + amlogic,chip-enable-gpios:
>> + maxItems: 1
>> + description: gpio specifier used to enable chipset
> For entire chipset? Then enable-gpios
Yes, I will change "amlogic,chip-enable-gpios" to "enable-gpio"
>> +
>> + amlogic,bt-enable-gpios:
>> + maxItems: 1
>> + description: gpio specifier used to enable BT
> Follow existing bindings for Qualcomm as example.
Okay, I will change "amlogic,bt-enable-gpios"to "bt-enable-gpios" follow
Qualcomm's example.
>> +
>> +required:
>> + - compatible
>> + - clocks
>> + - clock-names
>> + - amlogic,chip-enable-gpios
>> + - amlogic,bt-enable-gpios
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + wcn_pwrseq {
> No underscores in node names, generic node names.
>
> There is no device as "pwrseq". I also do not get what "wcn" means here.
Yes, I understand.
Can I change "wcn_pwrseq" to "pmu", and do I need to change the binding
file name to "amlogic,w155s2-pmu"
> Best regards,
> Krzysztof
>
On 08/07/2024 08:04, Yang Li wrote:
>>> +
>>> +required:
>>> + - compatible
>>> + - clocks
>>> + - clock-names
>>> + - amlogic,chip-enable-gpios
>>> + - amlogic,bt-enable-gpios
>>> +
>>> +additionalProperties: false
>>> +
>>> +examples:
>>> + - |
>>> + #include <dt-bindings/gpio/gpio.h>
>>> + wcn_pwrseq {
>> No underscores in node names, generic node names.
>>
>> There is no device as "pwrseq". I also do not get what "wcn" means here.
>
> Yes, I understand.
>
> Can I change "wcn_pwrseq" to "pmu", and do I need to change the binding
What is pmu for your device? What is this device in the first place you
are documenting? Where is the datasheet?
> file name to "amlogic,w155s2-pmu"
Yes, compatible should also match proper device.
Best regards,
Krzysztof
在 2024/7/8 14:11, Krzysztof Kozlowski 写道:
> [ EXTERNAL EMAIL ]
>
> On 08/07/2024 08:04, Yang Li wrote:
>>>> +
>>>> +required:
>>>> + - compatible
>>>> + - clocks
>>>> + - clock-names
>>>> + - amlogic,chip-enable-gpios
>>>> + - amlogic,bt-enable-gpios
>>>> +
>>>> +additionalProperties: false
>>>> +
>>>> +examples:
>>>> + - |
>>>> + #include <dt-bindings/gpio/gpio.h>
>>>> + wcn_pwrseq {
>>> No underscores in node names, generic node names.
>>>
>>> There is no device as "pwrseq". I also do not get what "wcn" means here.
>> Yes, I understand.
>>
>> Can I change "wcn_pwrseq" to "pmu", and do I need to change the binding
> What is pmu for your device? What is this device in the first place you
> are documenting? Where is the datasheet?
^_^ Well, You are right, the "pmu" wasn't really fit in here.
I'd like to explain the current usage first, and could you please give
me a suggestion?
This module(pwrseq) used to power on Bluetooth & Wi-Fi combo chip, both
Bluetooth and
Wi-Fi driver need to control "chip-en-gpios" pins, so we introduced the
power sequence module.
What should we call it in this case?
>> file name to "amlogic,w155s2-pmu"
> Yes, compatible should also match proper device.
>
>
> Best regards,
> Krzysztof
>
On 08/07/2024 08:32, Yang Li wrote:
>
> 在 2024/7/8 14:11, Krzysztof Kozlowski 写道:
>> [ EXTERNAL EMAIL ]
>>
>> On 08/07/2024 08:04, Yang Li wrote:
>>>>> +
>>>>> +required:
>>>>> + - compatible
>>>>> + - clocks
>>>>> + - clock-names
>>>>> + - amlogic,chip-enable-gpios
>>>>> + - amlogic,bt-enable-gpios
>>>>> +
>>>>> +additionalProperties: false
>>>>> +
>>>>> +examples:
>>>>> + - |
>>>>> + #include <dt-bindings/gpio/gpio.h>
>>>>> + wcn_pwrseq {
>>>> No underscores in node names, generic node names.
>>>>
>>>> There is no device as "pwrseq". I also do not get what "wcn" means here.
>>> Yes, I understand.
>>>
>>> Can I change "wcn_pwrseq" to "pmu", and do I need to change the binding
>> What is pmu for your device? What is this device in the first place you
>> are documenting? Where is the datasheet?
>
> ^_^ Well, You are right, the "pmu" wasn't really fit in here.
>
> I'd like to explain the current usage first, and could you please give
> me a suggestion?
>
> This module(pwrseq) used to power on Bluetooth & Wi-Fi combo chip, both
> Bluetooth and
>
> Wi-Fi driver need to control "chip-en-gpios" pins, so we introduced the
> power sequence module.
>
> What should we call it in this case?
Sorry, you describe driver, not a device.
That would be a no-go for entire binding. Please describe the hardware,
not what you want to achieve in Linux drivers.
Best regards,
Krzysztof
On 2024/7/8 15:32, Krzysztof Kozlowski wrote:
> On 08/07/2024 08:32, Yang Li wrote:
>> 在 2024/7/8 14:11, Krzysztof Kozlowski wrote:
>>> On 08/07/2024 08:04, Yang Li wrote:
>>>>>> +
>>>>>> +required:
>>>>>> + - compatible
>>>>>> + - clocks
>>>>>> + - clock-names
>>>>>> + - amlogic,chip-enable-gpios
>>>>>> + - amlogic,bt-enable-gpios
>>>>>> +
>>>>>> +additionalProperties: false
>>>>>> +
>>>>>> +examples:
>>>>>> + - |
>>>>>> + #include <dt-bindings/gpio/gpio.h>
>>>>>> + wcn_pwrseq {
>>>>> No underscores in node names, generic node names.
>>>>>
>>>>> There is no device as "pwrseq". I also do not get what "wcn" means here.
>>>> Yes, I understand.
>>>>
>>>> Can I change "wcn_pwrseq" to "pmu", and do I need to change the binding
>>> What is pmu for your device? What is this device in the first place you
>>> are documenting? Where is the datasheet?
>> ^_^ Well, You are right, the "pmu" wasn't really fit in here.
>>
>> I'd like to explain the current usage first, and could you please give
>> me a suggestion?
>>
>> This module(pwrseq) used to power on Bluetooth & Wi-Fi combo chip, both
>> Bluetooth and
>>
>> Wi-Fi driver need to control "chip-en-gpios" pins, so we introduced the
>> power sequence module.
>>
>> What should we call it in this case?
> Sorry, you describe driver, not a device.
>
> That would be a no-go for entire binding. Please describe the hardware,
> not what you want to achieve in Linux drivers.
W155s2 is a Bluetooth and WiFi combination chip. Bluetooth requires the
bt-en pin to be pulled up, the chip-en pin to be pulled up, and the
32.768KHz clock. WiFi requires the chip-en pin to be pulled up, and the
32.768KHz clock. It can be seen that Bluetooth and WiFi are coupled to
the chip-en pin and the 32.768KHz clock. When Bluetooth and WiFi are
working at the same time, no matter which one is turned off, it will
affect the other device. Therefore, a pwrseq device is now abstracted to
manage the chip-en pin, bt-en pin, and the 32.768KHz clock.
There is currently no matching device name for the pwrseq composite device.
Could you please give me some advice?
>
> Best regards,
> Krzysztof
>
On 08/07/2024 10:21, Yang Li wrote:
>
> On 2024/7/8 15:32, Krzysztof Kozlowski wrote:
>> On 08/07/2024 08:32, Yang Li wrote:
>>> 在 2024/7/8 14:11, Krzysztof Kozlowski wrote:
>>>> On 08/07/2024 08:04, Yang Li wrote:
>>>>>>> +
>>>>>>> +required:
>>>>>>> + - compatible
>>>>>>> + - clocks
>>>>>>> + - clock-names
>>>>>>> + - amlogic,chip-enable-gpios
>>>>>>> + - amlogic,bt-enable-gpios
>>>>>>> +
>>>>>>> +additionalProperties: false
>>>>>>> +
>>>>>>> +examples:
>>>>>>> + - |
>>>>>>> + #include <dt-bindings/gpio/gpio.h>
>>>>>>> + wcn_pwrseq {
>>>>>> No underscores in node names, generic node names.
>>>>>>
>>>>>> There is no device as "pwrseq". I also do not get what "wcn" means here.
>>>>> Yes, I understand.
>>>>>
>>>>> Can I change "wcn_pwrseq" to "pmu", and do I need to change the binding
>>>> What is pmu for your device? What is this device in the first place you
>>>> are documenting? Where is the datasheet?
>>> ^_^ Well, You are right, the "pmu" wasn't really fit in here.
So no datasheet? Then you are on your own.
>>>
>>> I'd like to explain the current usage first, and could you please give
>>> me a suggestion?
>>>
>>> This module(pwrseq) used to power on Bluetooth & Wi-Fi combo chip, both
>>> Bluetooth and
>>>
>>> Wi-Fi driver need to control "chip-en-gpios" pins, so we introduced the
>>> power sequence module.
>>>
>>> What should we call it in this case?
>> Sorry, you describe driver, not a device.
>>
>> That would be a no-go for entire binding. Please describe the hardware,
>> not what you want to achieve in Linux drivers.
> W155s2 is a Bluetooth and WiFi combination chip. Bluetooth requires the
I asked about this device here.
You speak now about W155s2 but everywhere else you were using "WCN".
What is that WCN?
> bt-en pin to be pulled up, the chip-en pin to be pulled up, and the
> 32.768KHz clock. WiFi requires the chip-en pin to be pulled up, and the
> 32.768KHz clock. It can be seen that Bluetooth and WiFi are coupled to
> the chip-en pin and the 32.768KHz clock. When Bluetooth and WiFi are
> working at the same time, no matter which one is turned off, it will
> affect the other device. Therefore, a pwrseq device is now abstracted to
It is the first time you mention pwrseq device from above paragraph.
Nothing above describes pwrseq.
Stop describing your problem, we all know it exactly if you follow the
discussions about power sequencing. Instead describe this particular
device you add binding for. What is this pwrseq in hardware? How does it
look? Where is it located? What are its pins? What are its supplies?
> manage the chip-en pin, bt-en pin, and the 32.768KHz clock.
>
> There is currently no matching device name for the pwrseq composite device.
? No clue what does this mean.
>
> Could you please give me some advice?
Again, you do not describe the device for the binding but something
else. Something for your drivers, sorry. No.
If you disagree, respond accurately to all questions above, not to only
some of them...
Best regards,
Krzysztof
On Mon, Jul 8, 2024 at 11:10 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 08/07/2024 10:21, Yang Li wrote:
> >
> > On 2024/7/8 15:32, Krzysztof Kozlowski wrote:
> >> On 08/07/2024 08:32, Yang Li wrote:
> >>> 在 2024/7/8 14:11, Krzysztof Kozlowski wrote:
> >>>> On 08/07/2024 08:04, Yang Li wrote:
> >>>>>>> +
> >>>>>>> +required:
> >>>>>>> + - compatible
> >>>>>>> + - clocks
> >>>>>>> + - clock-names
> >>>>>>> + - amlogic,chip-enable-gpios
> >>>>>>> + - amlogic,bt-enable-gpios
> >>>>>>> +
> >>>>>>> +additionalProperties: false
> >>>>>>> +
> >>>>>>> +examples:
> >>>>>>> + - |
> >>>>>>> + #include <dt-bindings/gpio/gpio.h>
> >>>>>>> + wcn_pwrseq {
> >>>>>> No underscores in node names, generic node names.
> >>>>>>
> >>>>>> There is no device as "pwrseq". I also do not get what "wcn" means here.
> >>>>> Yes, I understand.
> >>>>>
> >>>>> Can I change "wcn_pwrseq" to "pmu", and do I need to change the binding
> >>>> What is pmu for your device? What is this device in the first place you
> >>>> are documenting? Where is the datasheet?
> >>> ^_^ Well, You are right, the "pmu" wasn't really fit in here.
>
> So no datasheet? Then you are on your own.
>
> >>>
> >>> I'd like to explain the current usage first, and could you please give
> >>> me a suggestion?
> >>>
> >>> This module(pwrseq) used to power on Bluetooth & Wi-Fi combo chip, both
> >>> Bluetooth and
> >>>
> >>> Wi-Fi driver need to control "chip-en-gpios" pins, so we introduced the
> >>> power sequence module.
> >>>
> >>> What should we call it in this case?
> >> Sorry, you describe driver, not a device.
> >>
> >> That would be a no-go for entire binding. Please describe the hardware,
> >> not what you want to achieve in Linux drivers.
> > W155s2 is a Bluetooth and WiFi combination chip. Bluetooth requires the
>
> I asked about this device here.
>
> You speak now about W155s2 but everywhere else you were using "WCN".
> What is that WCN?
>
> > bt-en pin to be pulled up, the chip-en pin to be pulled up, and the
> > 32.768KHz clock. WiFi requires the chip-en pin to be pulled up, and the
> > 32.768KHz clock. It can be seen that Bluetooth and WiFi are coupled to
> > the chip-en pin and the 32.768KHz clock. When Bluetooth and WiFi are
> > working at the same time, no matter which one is turned off, it will
> > affect the other device. Therefore, a pwrseq device is now abstracted to
>
> It is the first time you mention pwrseq device from above paragraph.
> Nothing above describes pwrseq.
>
> Stop describing your problem, we all know it exactly if you follow the
> discussions about power sequencing. Instead describe this particular
> device you add binding for. What is this pwrseq in hardware? How does it
> look? Where is it located? What are its pins? What are its supplies?
>
> > manage the chip-en pin, bt-en pin, and the 32.768KHz clock.
>
> >
> > There is currently no matching device name for the pwrseq composite device.
>
> ? No clue what does this mean.
> >
> > Could you please give me some advice?
>
> Again, you do not describe the device for the binding but something
> else. Something for your drivers, sorry. No.
>
> If you disagree, respond accurately to all questions above, not to only
> some of them...
>
> Best regards,
> Krzysztof
>
Yang, please look at the existing pwrseq-qcom-wcn.c driver and its
bindings. They do exactly what you most likely want to do here. They
describe the power management unit of the chipset, its inputs from
host and outputs consumed by the WLAN and BT modules. Please try to
follow it for your device.
Bart
On Fri, Jul 5, 2024 at 1:13 PM Yang Li via B4 Relay
<devnull+yang.li.amlogic.com@kernel.org> wrote:
>
> From: Yang Li <yang.li@amlogic.com>
>
> Add binding document to introduce power sequence of
> Amlogic WCN chips.
>
Hi! Thanks for the interest in this new subsystem.
> Signed-off-by: Yang Li <yang.li@amlogic.com>
> ---
> .../bindings/power/amlogic,w155s2-pwrseq.yaml | 62 ++++++++++++++++++++++
> 1 file changed, 62 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
> new file mode 100644
> index 000000000000..f99a775fcf9b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/amlogic,w155s2-pwrseq.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic power sequence for WCN chips
> +
> +maintainers:
> + - Yang Li <yang.li@amlogic.com>
> +
> +description:
> + The Amlogic WCN chip contains discrete modules for WLAN and Bluetooth. Power on
> + Bluetooth and Wi-Fi respectively, including chip_en pull-up and bt_en pull-up,
> + and generation of the 32.768KHz clock.
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: amlogic,w155s2-pwrseq
> + - items:
> + - enum:
> + - amlogic,w265s1-pwrseq
> + - amlogic,w265p1-pwrseq
> + - amlogic,w265s2-pwrseq
> + - const: amlogic,w155s2-pwrseq
The name is wrong. There's no such device as 'pwrseq'. There's most
likely some kind of a Power Management Unit and the compatible string
must reflect this.
> +
> + clocks:
> + maxItems: 1
> + description: clock provided to the controller (32.768KHz)
> +
> + clock-names:
> + items:
> + - const: ext_clock
> +
> + amlogic,chip-enable-gpios:
> + maxItems: 1
> + description: gpio specifier used to enable chipset
Why not simply: chip-enable-gpios or even enable-gpios?
> +
> + amlogic,bt-enable-gpios:
> + maxItems: 1
> + description: gpio specifier used to enable BT
> +
Same here: should be simply bt-enable-gpios.
Bart
> +required:
> + - compatible
> + - clocks
> + - clock-names
> + - amlogic,chip-enable-gpios
> + - amlogic,bt-enable-gpios
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + wcn_pwrseq {
> + compatible = "amlogic,w155s2-pwrseq";
> + clocks = <&extclk>;
> + clock-names = "ext_clock";
> + amlogic,chip-enable-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
> + amlogic,bt-enable-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
> + };
>
> --
> 2.42.0
>
>
Dear Bartosz
Thanks for your careful guidance and suggestions.
> On Fri, Jul 5, 2024 at 1:13 PM Yang Li via B4 Relay
> <devnull+yang.li.amlogic.com@kernel.org> wrote:
>> From: Yang Li <yang.li@amlogic.com>
>>
>> Add binding document to introduce power sequence of
>> Amlogic WCN chips.
>>
> Hi! Thanks for the interest in this new subsystem.
>
>> Signed-off-by: Yang Li <yang.li@amlogic.com>
>> ---
>> .../bindings/power/amlogic,w155s2-pwrseq.yaml | 62 ++++++++++++++++++++++
>> 1 file changed, 62 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
>> new file mode 100644
>> index 000000000000..f99a775fcf9b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/power/amlogic,w155s2-pwrseq.yaml
>> @@ -0,0 +1,62 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/power/amlogic,w155s2-pwrseq.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Amlogic power sequence for WCN chips
>> +
>> +maintainers:
>> + - Yang Li <yang.li@amlogic.com>
>> +
>> +description:
>> + The Amlogic WCN chip contains discrete modules for WLAN and Bluetooth. Power on
>> + Bluetooth and Wi-Fi respectively, including chip_en pull-up and bt_en pull-up,
>> + and generation of the 32.768KHz clock.
>> +
>> +properties:
>> + compatible:
>> + oneOf:
>> + - const: amlogic,w155s2-pwrseq
>> + - items:
>> + - enum:
>> + - amlogic,w265s1-pwrseq
>> + - amlogic,w265p1-pwrseq
>> + - amlogic,w265s2-pwrseq
>> + - const: amlogic,w155s2-pwrseq
> The name is wrong. There's no such device as 'pwrseq'. There's most
> likely some kind of a Power Management Unit and the compatible string
> must reflect this.
Yes, I got it!
I will change "pwrseq" to "pmu".
>> +
>> + clocks:
>> + maxItems: 1
>> + description: clock provided to the controller (32.768KHz)
>> +
>> + clock-names:
>> + items:
>> + - const: ext_clock
>> +
>> + amlogic,chip-enable-gpios:
>> + maxItems: 1
>> + description: gpio specifier used to enable chipset
> Why not simply: chip-enable-gpios or even enable-gpios?
Well, I will do. "amlogic,chip-enable-gpios" => "enable-gpios"
>
>> +
>> + amlogic,bt-enable-gpios:
>> + maxItems: 1
>> + description: gpio specifier used to enable BT
>> +
> Same here: should be simply bt-enable-gpios.
>
> Bart
Well, I well change "amlogic,bt-enable-gpios" to "bt-enable-gpios".
>> +required:
>> + - compatible
>> + - clocks
>> + - clock-names
>> + - amlogic,chip-enable-gpios
>> + - amlogic,bt-enable-gpios
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + wcn_pwrseq {
>> + compatible = "amlogic,w155s2-pwrseq";
>> + clocks = <&extclk>;
>> + clock-names = "ext_clock";
>> + amlogic,chip-enable-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
>> + amlogic,bt-enable-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
>> + };
>>
>> --
>> 2.42.0
>>
>>
© 2016 - 2026 Red Hat, Inc.